On the topic of regrets, how does everyone feel about the definition of forks,
and verb trains in general?
What if trains (of any length) merely composed their verbs? What if (f0 f1)y
<==> f0 f1 y *and* (f0 f1 f2)y <==> f0 f1 f2 y ? And similarly for the
dyads?
Certainly forks can be beautiful. We've all seen them solve real life problems
in startlingly beautiful ways. Witness the clear, stark +/%# .
But more often than a train, I need a pipe. I have often wished that trains
were declared some other way, say with (:f g h): , leaving (f g h)y to mean f
g h y .
There would be a nicer coherence between verbs isolated and not. Plus it would
make the more common case shorter and easier to read. And we wouldn't need [:
. And we wouldn't bicker about hook. Etc.
If I could do it all over again:
(f g h) y <==> f g h y
x (f g h) y <==> f g x h y
( g h) y <==> g h y
x ( g h) y <==> g x h y
All ranks would be infinite. As a bonus, we could include these rules verbatim
in the DoJ; they don't have the order of execution problems of forks and hooks.
Tree diagrams would be unnecessary (but could be included as a visual aid).
Was this design being considered before Ken woke from his nap with the idea for
fork?
-Dan
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm