Forgive me if this is considered YANQ
Why would you want J or any programming language to be limited to
only functional expressions?
A functional expression is explicitly dependent on its arguments and
makes parallel computation simpler for both programmers and
compilers. The idea is that the expression is deterministic using
any evaluation schedule such as call-by-value, call-by-need, or lazy-
evaluation.
But for a programming task where the order of business is actually to
cause collateral effects such as use and reset of the random link or
read and update a data base, what is required is to know that the
side effect is correct.
The problem then becomes whether something unobservable will effect
the process. If you are able to observe everything that can effect
the outcome, the program might still be viewed as deterministic by
adding an audit trail.
What is found in practice is that systems can behave in an
intrinsically unpredictable manner if there are unobservable small
causes that can produce large effects. You then need to work with
approximations and statistics and consider what perturbation might
affect the outcome and analyze how sensitive outcomes are to
unobservable perturbation. Processes that are very sensitive are
called chaotic.
And, as with the process of needing an observer to determine whether
or not a cat is dead, the process of making an observation has an
effect.
Donna
[EMAIL PROTECTED]
On 5-Jul-06, at 3:52 PM, Miller, Raul D wrote:
What are the problems with ? for functional programming,
other than the definitional one?
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm