See the paper Hui, Iverson, and McDonnell, *Tacit
Definition*<http://dl.acm.org/citation.cfm?id=114054.114077>,1991.

Basically: Let T be an adverb that translate into tacit form a function of
x and y expressed as an explicit expression E. Find the root function F of
E (the last function that applies).  If F applies dyadically, then the
tacit form is (El T) F (Er T) where El and Er are the explicit expressions
for the left and right arguments; if F applies monadically, then the tacit
form is F@:(Er T) or [: F (Er T) where Er is the explicit expression for
the right (and only) argument.  If E is x or y, the tacit form is [ or ].
If it is a constant C, the tacit form is C"_ .

After you've used this procedure for a while you get used to tacit
expressions, and can write them directly without the intermediate step of
first writing the explicit expression.

>From the above you can see the key role played by forks.  APL had "operator
expressions" before, but it was the introduction of forks in 1988 that made
tacit expressions possible for a much wider class of expressions (i.e. for
those whose root function is dyadic).  But that fact was not realized until
around 1990 due to an historical
accident<http://keiapl.org/rhui/remember.htm#fork1>.
When J was first implemented the explicit definition operator was not
available for some time, and all we had were operators and forks.  We soon
realized that we can still express most things.



On Sun, Dec 30, 2012 at 1:50 AM, Dr. Heinz Schild <
[email protected]> wrote:

> Is there a paper that comprehensively explains the development of tacit
> phrases? Something like this could help to actally make J a "math and data
> playground" for the iPad. Perhaps a readable documentation of the algorithm
> behind the adverb 13: would do for a start.
> Regards
> Heinz Schild
> ----------------------------------------------------------------------
> For information about J forums see http://www.jsoftware.com/forums.htm
>
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm

Reply via email to