That also.
But my point was that the "first class verb" concept being discussed
was a different one from the gerund use that you were documenting.
Thanks,
--
Raul
On Wed, Jul 19, 2017 at 10:20 PM, Louis de Forcrand wrote:
> Sorry; I did digress from multiple assignment.
>
> Louis
>
>> On 19
Sorry; I did digress from multiple assignment.
Louis
> On 19 Jul 2017, at 09:31, Raul Miller wrote:
>
> I believe that this discussion was about something different.
>
> Thanks,
>
> --
> Raul
>
>> On Wed, Jul 19, 2017 at 3:45 AM, Louis de Forcrand wrote:
>> K supports first-class verbs; on
I believe that this discussion was about something different.
Thanks,
--
Raul
On Wed, Jul 19, 2017 at 3:45 AM, Louis de Forcrand wrote:
> K supports first-class verbs; one can make an array of verbs, index one out,
> and apply it to something using the same syntax as for normal function
> ap
K supports first-class verbs; one can make an array of verbs, index one out,
and apply it to something using the same syntax as for normal function
application.
This is feasable in J, but only by using a special "apply" verb (perhaps gurus
know another way?).
Not trying to go full tacit,
apply=
Specifically, what you call "first class verbs" are, according to the
dictionary, supposed to be trains.
That this glitch seems useful says something, I think, about the value
of inconsistency.
Thanks,
--
Raul
On Tue, Jul 18, 2017 at 6:52 PM, Jose Mario Quintana
wrote:
> Louis, call me Pepe
Henry,
Louis is exactly right. The J805 is referred as the current stable
release. J806 is a moving target because you are still modifying it and
modifications can make (and have made) some of the Jx extensions no longer
effective.
One Jx foreign conjunction, which helps to bypass the need to u
Louis, call me Pepe (which is the nickname for Jose); that is how friends
call me.
Even if first-class verbs are not in compliance with the J Dictionary,
official interpreters allow them but one has to wrestle with the
interpreters. Using first-class verbs, one can operate on verbs [0] in a
simil
You are welcome Roger
On Tue, Jul 18, 2017 at 4:47 AM, roger stokes
wrote:
> Pepe, many thanks for swift reply
>
> Regards,
> Roger
>
> On Tue, Jul 18, 2017 at 12:07 AM, Jose Mario Quintana <
> jose.mario.quint...@gmail.com> wrote:
>
> > Roger, at the address I mentioned (
> > http://www.2be
Pepe, many thanks for swift reply
Regards,
Roger
On Tue, Jul 18, 2017 at 12:07 AM, Jose Mario Quintana <
jose.mario.quint...@gmail.com> wrote:
> Roger, at the address I mentioned (
> http://www.2bestsystems.com/foundation/j/jx0/index.html ) you can find a
> link to the article J Functional P
I’d guess is that by “unstable” he meant “currently being modified".
In any case, thanks for the link Jose (what should I call you? Pepe?).
If there was one thing I could add to J it would be better support for
first-class verbs (arrays of verbs, passing verbs as arguments), if only
for the beauty
Unstable? If you have a bug in J8.06, please post it at
http://code.jsoftware.com/wiki/System/Interpreter/Bugs
I don't see any bugs that are new in 8.06, and plenty that are fixed
from previous versions.
Henry Rich
On 7/17/2017 7:06 PM, Jose Mario Quintana wrote:
Louis, a Jx interpreter im
Given is=:1 :'(m)=:y'
if we claim that ('abc' is) is not a "pure tacit verb" because it
contains a non-tacit adverb, that logic would suggest that +/ is not a
pure tacit verb because it contains an adverb. We can certainly say
that +/ is a tacit verb, but it's not purely made of pure tacit
verbs..
Louis, a Jx interpreter implements extensions to the language. It supports
tacit programming full-heartedly and embraces first-class verbs. There are
publicly available patches for Jx extensions, as well as, a pre-built 32
bit Windows dll and Pre-built 32 and 64 bit Linux libs at
http://www.2bes
Roger, at the address I mentioned (
http://www.2bestsystems.com/foundation/j/jx0/index.html ) you can find a
link to the article J Functional Programming Extensions that you might find
interesting. (There is also a J Cheatsheet.)
On Mon, Jul 17, 2017 at 10:19 AM, roger stokes
wrote:
> Louis, I
Exactly, you might have the right to say,
"
And yet, all of your verbs can be pure tacit.
For example, you could use
is=:1 :'(m)=:y'
"
but the verb,
I_am_a_pure_tacit_verb=: '`u v' is
fails,
I_am_a_pure_tacit_verb +/`*:
|domain error: I_am_a_pure_tacit_verb
| (m)=:y
because "
Louis, I am with you on this.
Pepe, I would be very interested to see some introductory documentation
of your project
Regards
Roger
On Mon, Jul 17, 2017 at 12:40 PM, Louis de Forcrand
wrote:
> A lot has been said on these forums about Jx and Unbox.
> They are unofficial J interpreters (
A lot has been said on these forums about Jx and Unbox.
They are unofficial J interpreters (with extensions to the language), are they
not?
Are they publicly available? I couldn't find anything about them on Google
except older messages in the forum archives, but then again unfortunately this
la
Sure, and the biggest problem here is the use of globals for arguments.
The verbs themselves can be pure, but all we're really doing is
rearranging the deck chairs.
Thanks,
--
Raul
On Sun, Jul 16, 2017 at 3:33 PM, Jose Mario Quintana
wrote:
> At least we agree, I think, on one thing " in exp
At least we agree, I think, on one thing " in explicit programming
[typically] names refer to arguments while in tacit programming they do
not." Thus, is not just a matter of tacit aesthetics, there are some
consequences which might be difficult to evade:
('`u v') =: +/`*:
u@:v f.
+/@:*:
I think you are trying to evade a basic issue, which is that the
distinction between tacit and explicit programming is that in explicit
programming names refer to arguments while in tacit programming they
do not.
Altering the implementation to come up with evasive ways of having
named arguments is
Nice try but when I am wearing my hard-core tacit programmer hat I do not
like to look at blatant ugly explicit definitions which are referring to
arguments. ;) Heck, I do not like the smell of verbs of this kind either,
stinky=. ( , [ , , a. {~ 38 40 52 32 58 39 40 120 41 61 58 32 121
3
And yet, all of your verbs can be pure tacit.
For example, you could use
is=:1 :'(m)=:y'
That said, there is an argument that side effects make a verb impure. But I
am ignoring that kind of thing.
Thanks,
--
Raul
On Friday, July 14, 2017, Jose Mario Quintana
wrote:
> That is a different
#x27; useful?
> > > >> >>>
> > > >> >>>
> > > >> >>> On Tue, Jul 11, 2017 at 8:37 PM, Raul Miller <
> rauldmil...@gmail.com
> > > >
> > > >> >>> wrote:
> > > >> >>>
>
That is a different matter.
Indeed, "=: works and is simple" as long as one is not concerned about
producing (pure) tacit verbs. In that latter context, apparently, it does
not work well, is not simple to use and its forced use might trigger gross
space and time inefficiencies (for example, as di
t; >> >>> On Tue, Jul 11, 2017 at 8:37 PM, Raul Miller > >
> > >> >>> wrote:
> > >> >>>
> > >> >>> Ok, so, just to be clear - this has nothing to do with default
> > >> assignment?
> &g
's probably intentional that there's no verb form of
> =:
> >> >>>> (or =.). For example, given
> >> >>>>
> >> >>>> is=: 4 :'(x)=:y'
> >> >>>>
> >> >>>> consider:
> >> >>>>
> >> >>>
t; > > >>>>
> > > >>>> consider:
> > > >>>>
> > > >>>>'abc' is"0 i.3 4 5
> > > >>>>
> > > >>>> Questions:
> > > >>>>
> > > >>
gt; Questions:
>> >>>>
>> >>>> (1) what is
>> >>>>
>> >>>> a+b+c
>> >>>>
>> >>>> (2) how is this useful?
>> >>>>
>> >>>> Thanks,
>> >>
gt;>>>
> > >>>> (1) what is
> > >>>>
> > >>>> a+b+c
> > >>>>
> > >>>> (2) how is this useful?
> > >>>>
> > >>>> Thanks,
> > >>>>
> > >
t;>
> >>>> Thanks,
> >>>>
> >>>> --
> >>>> Raul
> >>>>
> >>>>
> >>>> On Tue, Jul 11, 2017 at 12:53 PM, 'Pascal Jasmin' via Programming
> >>>> wrote:
> >>>>
> >>
ssignment" is:
>>>>>
>>>>> assign =: 4 : '(x) =: y'
>>>>>
>>>>> its a verb, that can be composed with others (or rewritten for a
>>>>>
>>>> different/enhanced delegated assignment function) in a wid
function assignment" is:
>>>>
>>>> assign =: 4 : '(x) =: y'
>>>>
>>>> its a verb, that can be composed with others (or rewritten for a
>>>>
>>> different/enhanced delegated assignment function) in a wide var
ments entirely here. Perhaps the
mistake I made was not providing an ideal example to your first request.
____
From: Raul Miller
To: Programming forum
Sent: Tuesday, July 11, 2017 12:37 PM
Subject: Re: [Jprogramming] Request for comments: multiple assignment
I do not see yet
: can only use =: not =.
>> >
>> > problem 2: performance issue in any "delegated function assignment"
>> that wouldn't (or might not) exist if there were verb (and adverb forms I
>> proposed) forms of copula.
>> > I've just repeated pre
, 'Pascal Jasmin' via Programming
> > wrote:
> >>
> >>
> >>
> >> assignment within a delegated function includes default values,
> handling unassigned names, and other applications. Although update can be a
> "delegated assigment
(wrong "this", but thanks)
--
Raul
On Tue, Jul 11, 2017 at 8:50 PM, HenryRich wrote:
> Marshall wants assignment that does nothing if the name is already assigned.
> He called this 'default', which it is in a high-level sense. Most of us
> mean default in a low-level sense, i. e. always assig
Marshall wants assignment that does nothing if the name is already
assigned. He called this 'default', which it is in a high-level sense.
Most of us mean default in a low-level sense, i. e. always assign the
name, but use a default value if the user doesn't give one.
Henry Rich
On 7/11/2017
g an ideal example to your first request.
>
> ________
> From: Raul Miller
> To: Programming forum
> Sent: Tuesday, July 11, 2017 12:37 PM
> Subject: Re: [Jprogramming] Request for comments: multiple assignment
>
>
>
> I do not see yet that
I will add that to the list of possible features. It's something I have
had to do several times, and I end up with something like
FMT =: 2 {. (". FMT) , 1 16
which is awkward, as you say.
Henry Rich
On 7/11/2017 4:02 AM, Marshall Lochbaum wrote:
Does this scheme support easily assigning a d
ve just repeated previous statements entirely here. Perhaps the mistake I
made was not providing an ideal example to your first request.
From: Raul Miller
To: Programming forum
Sent: Tuesday, July 11, 2017 12:37 PM
Subject: Re: [Jprogramming] Request for comment
his thread.
>
>
> ________________
> From: Raul Miller
> To: Programming forum
> Sent: Tuesday, July 11, 2017 10:17 AM
> Subject: Re: [Jprogramming] Request for comments: multiple assignment
>
>
>
> In every definition of default assignment that
ant more flexibility with latter approach, and debugging is more
straightforward.
From: Don Guinn
To: Programming forum
Sent: Tuesday, July 11, 2017 12:00 PM
Subject: Re: [Jprogramming] Request for comments: multiple assignment
A couple of questions:
Does the a
A couple of questions:
Does the ability to extend multiple assignments make code easier to read?
Does this make for more efficient code?
--
For information about J forums see http://www.jsoftware.com/forums.htm
another general feature mentioned in this thread.
From: Raul Miller
To: Programming forum
Sent: Tuesday, July 11, 2017 10:17 AM
Subject: Re: [Jprogramming] Request for comments: multiple assignment
In every definition of default assignment that I have seen, update
__
> From: Raul Miller
> To: Programming forum
> Sent: Tuesday, July 11, 2017 9:46 AM
> Subject: Re: [Jprogramming] Request for comments: multiple assignment
>
>
>
> How can update assignment be relevant when assigning default values?
>
> Thanks,
>
9:46 AM
Subject: Re: [Jprogramming] Request for comments: multiple assignment
How can update assignment be relevant when assigning default values?
Thanks,
--
Raul
On Tue, Jul 11, 2017 at 9:43 AM, 'Pascal Jasmin' via Programming
wrote:
> pretty much any use of =:
>
> (newrec
> From: Raul Miller
> To: Programming forum
> Sent: Tuesday, July 11, 2017 9:36 AM
> Subject: Re: [Jprogramming] Request for comments: multiple assignment
>
>
>
> In what sort of cases are in-place optimizations a relevant issue for
> assi
pretty much any use of =:
(newrec ;reclookup) update assignwith 'database'
From: Raul Miller
To: Programming forum
Sent: Tuesday, July 11, 2017 9:36 AM
Subject: Re: [Jprogramming] Request for comments: multiple assignment
In what sort of ca
t lost any inplace
> optimizations.
>
> 2. it only works for =: and not =.
>
>
>
>
> From: Marshall Lochbaum
> To: programm...@jsoftware.com
> Sent: Tuesday, July 11, 2017 4:02 AM
> Subject: Re: [Jprogramming] Request for comments: multiple assig
ions, for 805 anyway, it lost any inplace
optimizations.
2. it only works for =: and not =.
From: Marshall Lochbaum
To: programm...@jsoftware.com
Sent: Tuesday, July 11, 2017 4:02 AM
Subject: Re: [Jprogramming] Request for comments: multiple assignment
Does
Here's an implementation of default that deals with multiple assignments:
default=:4 :0
nms=. ;:^:(1-L.) x
need=. 0>nc nms
if.+/need do.(need#nms)=:need#y end.EMPTY
)
That said, note that the locale mechanism can also be used to provide
defaults using straight =: (put the default assignment
Does this scheme support easily assigning a default value to a variable,
that is, assigning only if the name is currently unused? This is a
common case for me and I'm just now realizing that the "default" option
doesn't really do that.
See https://github.com/mlochbaum/JSound/blob/master/wav.ijs fo
Thank you.
I have, since about 1961, dealt with computer languages from MAD
(Michigan Algorithmic Decoder) through Fortran, early Basic, turbo
Basic, Pascal, C++ and APL*Plus then J . The earlier languages were
compiled and the compilers used "assembly" code. C and its relatives,
as far as
I agree with Don's suggestion. I've also found things like "++" to be a
little notational wart in the C; it extends to "--", both pre- and post-fix
forms, but is similar to nothing else in the language. Learning about it
gives you nothing of value that's generally applicable elsewhere.
On Wed, J
Why? Is this accomplishing anything ? Is the value of t changed?
t=:1 2 3
t+3 or 3+t give 4 5 6 but t is not changed
to have a change in t then t=:t+3 works and its meaning is clear.
I would suggest that the value of J (as with APL) is that it is not C
and non-C thinking is a benefit.
Don K
http://code.jsoftware.com/wiki/System/Interpreter/Requests#Expanded_Multiple_Assignment
examples of my proposed extension of multiple assignment.
Henry Rich
On 7/4/2017 7:29 PM, Raul Miller wrote:
Which wiki page? (And, what are they examples of?)
Thanks,
---
This email has been checke
Which wiki page? (And, what are they examples of?)
Thanks,
--
Raul
On Tue, Jul 4, 2017 at 6:39 PM, HenryRich wrote:
> Examples are in the Wiki page. I was unable to figure out a good way to
> make it apply to boxed lists. I did feel that since a boxed list is created
> programmatically, the
Why not? Because named verbs are on an equal footing with primitives,
so the sentence:
a plus =: 5
would be interpreted as an assignment to plus, not to a.
Henry Rich
On 7/4/2017 1:55 PM, 'Mike Day' via Programming wrote:
Not multiple assignment, but copula-related.
I've often wondered wh
Examples are in the Wiki page. I was unable to figure out a good way to
make it apply to boxed lists. I did feel that since a boxed list is
created programmatically, there would be less need for the new features
there.
Henry Rich
On 7/4/2017 6:30 PM, Bill wrote:
Why do think this extension
Why do think this extension is needed? Can you give some examples? Often I use
the form of boxed list instead of string for assignment, can this extension
also apply?
Sent from my iPhone
On 4 Jul, 2017, at 1:40 PM, HenryRich wrote:
> Here is a feature that I have wanted for a long time:
>
>
t; natural)
>
> basically 'name(s)'~ would be the "inverse" of 'name(s)' =: boxes of nouns
> (this already works when just one name)
>
> and '`name(s)'~ would be the "inverse" of '`name(s)' =: gerund.
> _
would be the "inverse" of 'name(s)' =: boxes of nouns
(this already works when just one name)
and '`name(s)'~ would be the "inverse" of '`name(s)' =: gerund.
____
From: Raul Miller
To: Programming forum
Sent: Tuesday, Jul
y~'
>
> to support x u is 'a b',
>
> 'a b'~ would have to be defined as 'a'~ ; 'b'~
>
> and then, '`a b c'~ could be defined as (a ar), (b ar), (c ar)
>
> where
>
> ar =: 1 : '5!:1 <''u'
ould be defined as (a ar), (b ar), (c ar)
where
ar =: 1 : '5!:1 <''u'''
____
From: Raul Miller
To: Programming forum
Sent: Tuesday, July 4, 2017 2:12 PM
Subject: Re: [Jprogramming] Request for comments: multiple assignment
It might be inte
It might be interesting to try redefining the dictionary II.E parsing
rules at http://www.jsoftware.com/help/dictionary/dicte.htm to support
stuff like a+=:i.20
That said, you can already do this:
a=:10
is=:1 :(':';'(x)=:(".x) u y')
'a'+is i.20
10 11 12 13 14 15 16 17 18 19 20 21 22 23 2
Not multiple assignment, but copula-related.
I've often wondered why J doesn't have the C family feature of assignments
such as
t =: 1 2 3
[t+=: 3
4 5 6
I don't know what it's called, and I realise it's only an arguably
attractive
feature, not an essential one, but would be useful, espe
rb proposals,
x (noun =::) y would assign default values in noun for null elements of y.
(verb =::) 'y' would be equivalent to (y) =: verb y
x (verb =::) 'y' would be equivalent to (y) =: x verb y NB. + =:: like += in C
and other languages.
(noun ar`verb =::) 'y
'`' will continue to be supported as it is now, simply assigning ARs to
names.
Henry Rich
On 7/4/2017 9:01 AM, Jose Mario Quintana wrote:
0. Will ` be still supported (maybe I missed in the BNF description)?
1. Copula is not a word (noun, verb, adverb or conjunction) it is, I think,
a punc
0. Will ` be still supported (maybe I missed in the BNF description)?
1. Copula is not a word (noun, verb, adverb or conjunction) it is, I think,
a punctuation mark which makes it very inconvenient sometimes (for example,
it cannot be processed by `:6) . However, the multiple assignment form c
Here is a feature that I have wanted for a long time:
http://code.jsoftware.com/wiki/System/Interpreter/Requests#Expanded_Multiple_Assignment
It attempts to solve the problem of moving verb arguments into
variable-names. Allows defaults and multilevel arguments. I will
implement this within
70 matches
Mail list logo