I believe that this discussion was about something different. Thanks,
-- Raul On Wed, Jul 19, 2017 at 3:45 AM, Louis de Forcrand <[email protected]> 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 > 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=: 4 : 0 > x`:6 y > ) > > for example. > > While this is more clunky, we must remember that: > 1) K function application looks like this: > user_defined_function[arg1;arg2;arg3;etc.] > 2) K does not support tacit programming like J does. More specifically it > does not support trains. J would not be able to do this if there were no noun > / function / operator hierarchy: > f ; g > would that be a list of f and g or the train as we know it? The hierarchy > allows paren-free parsing rules and infix as well: > f @ g instead of @[f;g] > > All in all, clunky first-class verbs are a price I am (and most Jers I assume > are) willing to pay in order to get trains. Like you say, a little > inconsistency can be very practical. > > Louis > >> On 18 Jul 2017, at 20:23, Raul Miller <[email protected]> wrote: >> >> 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 >> <[email protected]> wrote: >>> 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 >>> similar way one can operate on nouns [1]. Jx extensions make their use >>> more pleasant and goes beyond first-class verbs; Jx also facilitates to >>> pass verbs, adverbs and conjunctions to verbs, adverbs and conjunctions to >>> produce verbs, adverbs and conjunctions. >>> >>> [0] Tacit (unorthodox) version >>> https://rosettacode.org/wiki/First-class_functions#Tacit_. >>> 28unorthodox.29_version >>> [1] Tacit (unorthodox) version >>> https://rosettacode.org/wiki/First-class_functions/Use_ >>> numbers_analogously#Tacit_.28unorthodox.29_version >>> >>> >>> On Tue, Jul 18, 2017 at 12:36 AM, Louis de Forcrand <[email protected]> >>> wrote: >>> >>>> 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 of it, but I know this is neither easy nor practical in >>>> reality. >>>> However trying out your new version of Jx is; I’ll take a look at it if you >>>> release it. In the meantime I’ll look into your J701 version when I have >>>> the time! >>>> >>>> Louis >>>> >>>>> On 17 Jul 2017, at 20:21, HenryRich <[email protected]> wrote: >>>>> >>>>> 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 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.2bestsystems.com/foundation/j/jx0/index.html >>>>>> >>>>>> but it is an early version of Jx based on the J701 source. Jx has >>>> evolved >>>>>> (e.g., the primitives =.. and =:: were added afterwards) and J's core >>>>>> engine has evolved rapidly as well; it has been very difficult to catch >>>> up. >>>>>> ("Be careful what you wish for.") :) >>>>>> >>>>>> The current unreleased version of Jx is based on the unstable official >>>> J806 >>>>>> beta source and there are some relatively minor Jx glitches. We were >>>>>> planning to wait for the official J806 to become stable and resolve the >>>> Jx >>>>>> glitches but I might decide instead to release a current version, as is, >>>>>> soon. >>>>>> >>>>>> >>>>>> On Mon, Jul 17, 2017 at 7:40 AM, Louis de Forcrand <[email protected]> >>>> wrote: >>>>>> >>>>>>> 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 language's name makes it sometimes hard to look up on the web. >>>>>>> >>>>>>> Thanks! >>>>>>> Louis >>>>>>> >>>>>>>> On 16 Jul 2017, at 15:37, Raul Miller <[email protected]> wrote: >>>>>>>> >>>>>>>> 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 >>>>>>>> <[email protected]> wrote: >>>>>>>>> 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. >>>>>>>>> +/@:*: >>>>>>>>> >>>>>>>>> ('`u v') =:: +/`*: NB. Jx >>>>>>>>> ┌───────┬──┐ >>>>>>>>> │┌─┬───┐│*:│ >>>>>>>>> ││/│┌─┐││ │ >>>>>>>>> ││ ││+│││ │ >>>>>>>>> ││ │└─┘││ │ >>>>>>>>> │└─┴───┘│ │ >>>>>>>>> └───────┴──┘ >>>>>>>>> u@:v f. >>>>>>>>> +/@:*: >>>>>>>>> >>>>>>>>> ('`u v') is +/`*: NB. >>>>>>>>> |domain error >>>>>>>>> | (m) =:y >>>>>>>>> is >>>>>>>>> 1 : '(m)=:y' >>>>>>>>> >>>>>>>>> So, assuming I understood the intended use of your adverb is, I am >>>>>>> afraid >>>>>>>>> your adverb cannot be used without typical limitations. >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>> >>>>>> ---------------------------------------------------------------------- >>>>>> For information about J forums see http://www.jsoftware.com/forums.htm >>>>> >>>>> >>>>> --- >>>>> This email has been checked for viruses by AVG. >>>>> http://www.avg.com >>>>> >>>>> ---------------------------------------------------------------------- >>>>> For information about J forums see http://www.jsoftware.com/forums.htm >>>> >>>> ---------------------------------------------------------------------- >>>> For information about J forums see http://www.jsoftware.com/forums.htm >>>> >>> ---------------------------------------------------------------------- >>> For information about J forums see http://www.jsoftware.com/forums.htm >> ---------------------------------------------------------------------- >> For information about J forums see http://www.jsoftware.com/forums.htm > > ---------------------------------------------------------------------- > For information about J forums see http://www.jsoftware.com/forums.htm ---------------------------------------------------------------------- For information about J forums see http://www.jsoftware.com/forums.htm
