|
[Date Index]
[Thread Index]
[Author Index]
Re: Metastable expressions in Mathematica
On 06/16/2011 11:10 PM, Richard Fateman wrote:
> On 6/15/2011 4:21 AM, Leonid Shifrin wrote:
>> Hi David,
>>
>> This is a known effect. There is a special command Update, used in such
>> cases to force Mathematica to propagate changes like the one you discuss.
>>
>
> It is, in some views, an error, to define and implement a programming
> language with a semantics that is not deterministic, but depends on (for
> example) on the page in random access memory on which an expression is
> stored, to tell how it will be evaluated.
>
> Or call Update.
>
> I suspect this "feature" is unique to Mathematica among programming
> languages commercially supported. The fact that this is "known" to some
> people does not make it harmless. The fact that it almost never affects
> people does not make it harmless either.
>
> RJF
I do not see how this feature (of needing Update to handle conditional
dependencies) is nondeterministic. Certainly it is documented in a way
that implies it would be deterministic with respect to memory layout.
See Documentation Center > Update > Basic Examples.
As for harmlessness, I'd suggest that use of conditional definitions in
a way that would require Update is, in effect, signing a release form.
Something to the effect "I am a mature programmer and understand that my
funky code might have unanticipated consequences. I will debug it as
needed and not make a huge fuss over it on Usenet. (Did I mention that I
am a mature programmer?)"
Getting to the issue raised of design philosophy, I will comment that a
language not requiring an Update would probably be less well able than
Mathematica to emulate infinite evaluation. Some people like that
feature of evaluation semantics, others do not. While it predates my
time here, I am fairly sure infinite evaluation was an intentional
aspect of the Mathematica design. (Would be ironic, though, if we today
were all adhering to what was originally a coding error that escaped the
laboratory...)
Daniel Lichtblau
Wolfram Research
Prev by Date:
Re: capacitor equation solution not working
Next by Date:
Re: capacitor equation solution not working
Previous by thread:
Re: Metastable expressions in Mathematica
Next by thread:
Re: Metastable expressions in Mathematica
|