Well, they sort seem to nest indeed, using other separating symbols. The other problem is "quote explosion"...
'|a b| ''$c$%:c'' L a*+:b' L 5 6 7.74597 Then you can also start asking yourself: why not just use hooks and forks? 2015-02-02 13:25 GMT+01:00 alexgian <[email protected]>: > I suspect that the original rationale behind J adverbs might have been to > address this kind of problem, but I can't help wondering if they're a bit > past the sell-by date. > > Why qualify a verb/function with a different type, if you can just compose > with the same type? > Am I missing something important here? > > > On 2 February 2015 at 12:21, alexgian <[email protected]> wrote: > > > Hm, would that nest? > > > > Could you do > > (lambda (x) > > (lambda(y) > > (+ x y))) > > > > or if Scheme doesn't please you: > > /x -> /y -> x+y > > > > ? > > > > > > > > On 2 February 2015 at 10:11, Jan-Pieter Jacobs < > [email protected] > > > wrote: > > > >> Well, if I'd be using it a lot, I'd write a not-so-beautiful thing > >> (which probably other people are going to phrase more eloquently) to > make > >> the other code look better. > >> For instance: > >> > >> NB. lambda-ifying adverb: > >> L =: 1 : '3 : (( [: (( ''=.y'' ,~ ''''''''&([,,~) )&.>@{. , {:) < ;. > _1 ) > >> m)' > >> > >> Usage: > >> > >> times =: '|a b|a*b' L > >> plus =: '$x y$x+y' L NB. any separator you fancy (but space) > >> plus 1 2 > >> 3 > >> times 3 4 > >> 12 > >> > >> > >> > >> 2015-02-02 10:39 GMT+01:00 alexgian <[email protected]>: > >> > >> > > On a related note, lambda syntax is not really simple. > >> > > Consider: > >> > > ((lambda (x y) (+ x y)) 2 3) > >> > > >> > Well, that's *one* form of lambda syntax, viz. the Scheme variant > >> > > >> > In Haskell you'd write > >> > \x y -> x+y > >> > > >> > Hardly rocket science. But I think the point is that that however > >> > awkwardly you may choose to codify it, lambda is brilliant in its > >> > simplicity and accessibility of understanding. Static scoping is a > >> > no-brainer for managing complexity. > >> > > >> > I agree that the inability of abstracting J more than two levels (as > >> > already mentioned) is a serious PITA, and probably the most > inexplicably > >> > klutzy piece of work in an otherwise so elegant system... I mean, > >> needing > >> > to combine tacits inside explicits, and gawdknows what other > >> work-arounds! > >> > Really? We might have got used to it, but I doubt that many in the > real > >> > world would. But, of course, I could be wrong.... > >> > ---------------------------------------------------------------------- > >> > 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
