> On Behalf Of John Randall > > It seems to me that many of J's primitive verbs are pure functions, and > there is a fairly small amount of state in the exceptions. > > Obviously ? is a long way from being a mathematical function: it is > specifically designed to give a different result every time it is called. > > Input and output functions do not fit well into this scheme. Input > functions return a different value each time they are called, and so > cannot be memoized: output functions have side effects and so cannot be > lazily evaluated.
In addition, a verb free of side effects is suitable for concurrent (parallel) execution (even '?' itself is suitable for most applications). > > Most of the others are OK. The major drawback is comparison tolerance. > > Has there ever been consideration of moving J in a more functional > programming direction? In particular, memoization would be very useful, > and would seem to be compatible with J's execution model. > > Best wishes, > > John ---------------------------------------------------------------------- For information about J forums see http://www.jsoftware.com/forums.htm
