On Thu, Apr 30, 2009 at 3:57 PM, Don Watson <[email protected]> wrote:
>              sd=: 4 : '%:  (%<:#y)  * +/ *: y -(+/y)%#y'
>
> but the student is going to ask why we put it in quotes when the
> rest of Mathematics isn't in quotes and doesn't write 4: in the front.
> Seemingly little barriers can actually be big barriers.

   sd=: verb def '%:  (%<:#y)  * +/ *: y -(+/y)%#y'

It's in quotes because we do not want to use the expression right
now, we want to define a new verb which uses the expression.
Computers do not understand our intentions so we must spell
out everything precisely.

>    A couple of days ago I realised that in trying to find something easier
> for the academic community, I was making things more complex than they
> needed to be. I could simply take any explicit J expression, replace all
> "x"s with "[" and all "y"s with "]" and I had something that fulfilled the
> definition of tacit J: "In a tacit definition the arguments are not named
> and do not appear explicitly in the definition. The arguments are referred
> to implicitly by the syntactic requirements of the definition."

For this to work consistently, [ and ] would have to be names
rather than verbs.  Which means that this would not be a tacit
definition.  In simple cases, this will work with J's existing
rules, but in the general case things are not so simple.
(Because, computers need everything specified unambiguously.)

> tacit J. For example, take the expression:
>
>    x f...@g y  <->  f (x g y)
>
>    that you have given above. In explicit J this is still:   f (x g y)
> and could be expressed in a right to left implicit form as:  f ([ g ])

Again, for this to work, [ and ] have to be names and this has
to be an explicit expression and not a tacit expression.

That you spelled the names with non-alphabetic characters
means nothing to a computer -- computers need unambiguous
rules if they are to be able to do anything.

-- 
Raul
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm

Reply via email to