To answer this in general is beyond my competence. But this document
is definitive: ISO/IEC 13751:2001 (http://tinyurl.com/23c68yt) Other
will know it better than I do. It's an expensive document for a PDF
and I can't afford my own copy.
But Dyalog APL implements a "Composition" operator (and has long done
so), the symbol "Jot" (∘), used typically like this:
(f ∘g)
In the words of the Dyalog APL Language Reference Manual pp 305-307,
which can be downloaded free-of-charge:
http://www.dyalog.com/documentation/12.1/Dyalog%20APL%20Language%20Reference.v12.1.pdf
"Composition allows functions to be glued together to build up more
complex functions."
and examples are shown which closely resemble J tacit definition. But
the latter is much richer, particularly where dyadic usage is
concerned.
IMO you don't need to be able to read APL to understand these
examples, so I recommend you to take a peek.
How often is tacit coding used in APL?
Quite a lot -- but usually in pretty simple ways. Such as creating
localised ancillary functions inside a "del"-defined function (the
classic way to define a function).
There's also a form of in-line function definition called "direct
definition" which gets used roughly in the same circumstances tacit J
expressions get used. Strictly it is not tacit, since it makes use of
symbolic arguments (⍺, ⍵), which correspond to x and y in J.
For a program implemented in both J and APL, the latter making heavy
use of "direct definition", see "Pick A Card..."
http://www.jsoftware.com/jwiki/Doc/Articles/Play194
(the section: "Richard's Version" for the APL).
Ian
On Mon, Nov 22, 2010 at 8:33 AM, Justin Paston-Cooper
<[email protected]> wrote:
> I'm not really familar with APL. to what extent was tacit programming
> common in APL, and if it was not so common, what were the limitations?
> ----------------------------------------------------------------------
> For information about J forums see http://www.jsoftware.com/forums.htm
>
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm