If copulas were verbs, what would happen here? count=:77 msg=:'count' msg=:msg,': ',":count
Or, better yet: count=: count +1 Similar remarks apply to the question of whether copulae should be adverbs or conjunctions. In short: in order to see a /name/ on the left, as opposed to a /value/, copulae need a special parsing rule with higher precedence (binding power) than any nameclass. Which means copulae can't operate "normally" (as expected, ie name=:value) and also participate as one of the kinds of names (nameclasses) it can assign, or bind. With that said, it's possible to have a different set of copulae, distinct from =: and =., that act like verbs (or adverbs, or conjunctions), and do what you want, so long as you can live with the limitation that this lower-power kind of copula cannot, itself, assign verbs (respectively, adverbs or conjunctions). I don't we will ever implement these as primitives in the language, but it's possible to emulate them as used-defined utilities (eg asgn=:dyad def '(x)=:y' or '(y)=:y~' for things like += etc). -Dan Please excuse typos; sent from a phone. > On Jun 11, 2014, at 9:00 AM, David Lambert <[email protected]> wrote: > > I'd like to know the reasoning that copula are not verbs please. > > B > |value error: B > > (=:~ ('A B C ' {.~ +:@#))i.2 > |syntax error > | (=: ~('A B C '{.~+:@#))i.2 > > > assign=: 4 :'EMPTY [ (x)=: y' > > (assign~ ('A B C ' {.~ +:@#))i.2 > > B > 1 > > ---------------------------------------------------------------------- > For information about J forums see http://www.jsoftware.com/forums.htm ---------------------------------------------------------------------- For information about J forums see http://www.jsoftware.com/forums.htm
