> From: Don Watson
>
> I will work with the formula for standard deviation, because it is
> simple and a good illustration for my purposes. In explicit form -
> containing a tacit expression - it can be:
>
> %: (% <: # y) * +/ *: (- +/ % #) y
>
> Suppose that there existed a parallel tacit form in which the
> grammar
> was right to left. We could enclose any expression in this tacit form
> in
> curly brackets as follows: {%<:#}. Now let's put the whole formula
> together using both regular and curly parentheses - I am assuming that
> the grammar at any point depends upon the innermost parentheses
> surrounding that point:
>
> {%: {% <: #} * +/ *: (- +/ % #) } y
>
I still don't understand why you think that adding a right to left tacit form
is desirable.
How will this make it easier/less confusing for students/teachers? Now you need
to explain both current tacit (which you know from experience is difficult for
new users) as well as a new version that is pretty much like explicit without
arguments.
Surely the explicit form you give above is going to be easier for them to
understand?
If you agree then you can just use ' instead of your curly brackets to define
explicit J and mix in tacit as desired:
stddev=: verb def '%: (% <: # y) * +/ *: (- +/ % #) y'
If this is this still all about wanting to assign a verb using just <name> =:
<defn> then in your new derivative language you could just change the method of
defining explicit code to implicitly surround <defn> with quotes and prefix it
with "verb def "
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm