You're right! I'll try to remember that for next time.
> From: Roger Hui
> There aren't that many ways to generate > a syntax error.
You can look it up in Appendix D of the dictionary.
http://www.jsoftware.com/help/dictionary/errors.htm
----- Original Message -----
From: "Sherlock, Ric"
> I was about to post this as a question but finally figured out
> the answer. I'll post it anyway in case it is of help to others:
>
> I want to create a verb "defverb" such that
> 'myname' defverb '<my sentence>'
> assigns <my sentence> to a new verb 'myname'
>
> So if <my sentence> was:
> % *: y
> I'd end up with a monadic verb called myverb that took the right
> argument, squared it and found the reciprocal.
>
> ('myverb')=: 3 : '% *: y' NB.
> This works
>
> tstx=: 'myverb2'
> tsty=: '% *: y'
> (tstx)=: 3 :
> tsty NB. This works
>
> verbstr=: 4 : '(x)=: 3 : y' NB. define verb
> to do it
> verbstr
> 4 : '(x)=: 3 :
> y' NB. looks ok
> 'myverb3' verbstr '% *: y' NB. Doesn't work!
> |syntax error: verbstr
> | 'myverb3' verbstr'% *: y'
>
> Why?
>
>
>
>
>
>
>
> An explicit verb is only allowed to return a noun.
> <http://www.jsoftware.com/help/dictionary/d310n.htm>Solution.
> verbstr=: 4 : ('(x)=: 3 : y';'$0')
>
> 'myverb3' verbstr '% *: y'
> myverb3 4 3
> 0.0625 0.111111
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm