Sorry, the below escaped my drafts folder before it was (anywhere near) finished.
The transition to using a phone as my primary computing platform has some nice benefits (primarily ubiquity and convenience), but also some real drawbacks (particularly in input-heavy applications like email). Which is another way of saying I'm embarrassed by all the posting gaffes and elementary spelling errors I've made publicly on these Forums recently. Sorry guys. -Dan PS: I'll take responsibility for all the misdirected emails and fat-finger posting mistakes, but not the spelling errors! I have autocorrupt to thank for that. PPS: I love having a J interpreter in my pocket wherever I go. It's great for quick calculations, playing with ideas, testing theories, and winning arguments over drinks :) > On Apr 6, 2014, at 2:03 PM, Dan Bron <[email protected]> wrote: > > Eval can't be used as a substitute for apply (128!:2) because eval is an > adverb and apply is a verb (the whole point of introducing apply was to have > a verb [whose arguments can change at runtime] which can dynamically apply > execute code, without requiring that code's arguments to be serialized first, > as ". does). > > As to anon evoke, the first version was is founded on the same principles as > eval, basically 1 : , except the aim of the utility was to do so > *anonymously*, i.e. without naming any arguments - in particular, without > naming the argument to :, u . > > Since we ready have : and 'name'~, There was no particular > > > This was in pursuit of creating a *tacit* evocation f goal was to express the > utility > > The idea > >> On Apr 5, 2014, at 1:26 PM, Pascal Jasmin <[email protected]> wrote: >> >> apply does not work with dyadic verbs, and cannot produce modifiers. >> Consider the following simple looking eval function. >> >> eval =: 1 : ' a: 1 : m' >> >> >> 2 '+' eval 1 2 3 >> 3 4 5 >> >> >> + '/' eval 1 2 3 >> 6 >> >> >> >> '+/' eval(+:@) 1 2 3 >> 12 >> >> >> +:@+'/' eval 1 2 3 >> 22 >> >> >> +: +'/' eval 1 2 3 >> 12 >> >> >> (+: '@' eval +)'/' eval 1 2 3 >> >> 22 >> >> +: '@' eval +'/' eval 1 2 3 >> 12 >> >> >> The last statement is interesting because it seems to alter the normal >> conjunction train processing (sometimes in desirable ways) >> >> instead of just grabbing a single token as v. >> >> < '@' eval +'/' eval 1 2 3 NB. would be domain error without '@'eval >> ┌─┐ >> │6│ >> └─┘ >> >> >> eval is the key to how my multiline tacit code works: >> http://www.jsoftware.com/jwiki/PascalJasmin/Multiline%20tacit%20expressions%20with%20macros >> ---------------------------------------------------------------------- >> 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
