Here is a more involving example, that show the case where adverb is stacked by value while, simultaneously, verb and conjunction are not:
$ ~/j64-602/bin/jconsole adv=:/ conj=:" A =: v adv conj A v/conj *: A v/"0 0 0 NB. adv is stacked by value, while verb v and conj are not: v=:+ conj=:@ *: A v/@*: *: A 1 2 3 1 4 9 conj=:@: *: A 1 2 3 14 To get back to your question, slightly generalized: Why some of the verbs, adverbs and conjunctions in all these examples are stacked by name rather than value? I'd say that's because J interpreter keeps the least resolved expression that is still consistent with the rule of interpretation that gives the interpreted expression. The drawback is a loss of referential transparency to which you've also alluded. -- View this message in context: http://www.nabble.com/Stacking-by-name-tp24918138s24193p24962141.html Sent from the J Programming mailing list archive at Nabble.com. ---------------------------------------------------------------------- For information about J forums see http://www.jsoftware.com/forums.htm
