4 ms·
I see, thanks! Looks like I might try both. The "no proper lightweight anonymous function syntax" sounds weird to me, I would have thought that's paramount for
by anyfoo 4y ago
I see, thanks! Looks like I might try both. The "no proper lightweight anonymous function syntax" sounds weird to me, I would have thought that's paramount for an array language? Do I misunderstand?
- Avshalom 4y agoIn J if you want to do something fairly complex without writing a function you can pile up a bunch of verbs/operators into a big (point free) verb-train. You can't do recursion, loops or explicit flow control but in the Array Languages that's not much of a handicap, it can get pretty hairy to read though In dyalog you can (as of about v13) do that if you want, or you can just use curly brackets { and inside of them have lexically scoped variables, multiple expressions, recursion and if/then (no loops either though) }
- jpf0 4y agoJ recursion is $: You can do flow control in both scripting style and array style. Loops are loops.
- Avshalom 4y agois $ meaningful in verb trains? because that was what I was referring to when I said no loops/recursion/flowcontrol N.B. a sibling says J has added a direct definition construct while I wasn't watching which renders my comment largely irrelevant although the I feel general point that a lot of J 'example code' tends towards difficult-for-noobs to parse verb trains still holds.
- jpf0 4y agoYes. this one is fun. Recursive, memoized Fibonacci, the 155th integer precisely. {{(-&2 +&$: -&1) ^: (1&<) M. y}} 155x It'll run in your browser in 0.003 seconds. https://jsoftware.github.io/j-playground/bin/html2/#code=%7B%7B%28-%262%20%2B%26%24%3A%20-%261%29%20%5E%3A%20%281%26%3C%29%20M.%20y%7D%7D%20155x https://jsoftware.github.io/j-playground/bin/html2/#code=%7B...
- moonchild 4y agoThis was true historically, but recent versions of j introduced a 'direct definition' syntax similar to dyalog's dfns.