Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.soft-sys.math.mathematica > #3175

Re: Metastable expressions in Mathematica

From Daniel Lichtblau <danl@wolfram.com>
Newsgroups comp.soft-sys.math.mathematica
Subject Re: Metastable expressions in Mathematica
Date 2011-06-18 21:44 +0000
Organization Steven M. Christensen and Associates, Inc and MathTensor, Inc.
Message-ID <itj68d$k41$1@smc.vnet.net> (permalink)
References <201106141014.GAA06248@smc.vnet.net> <ita4j9$mb1$1@smc.vnet.net> <201106170410.AAA28905@smc.vnet.net>

Show all headers | View raw


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



Back to comp.soft-sys.math.mathematica | Previous | NextPrevious in thread | Find similar | Unroll thread


Thread

Re: Metastable expressions in Mathematica Leonid Shifrin <lshifr@gmail.com> - 2011-06-15 11:21 +0000
  Re: Metastable expressions in Mathematica Richard Fateman <fateman@cs.berkeley.edu> - 2011-06-17 04:10 +0000
    Re: Metastable expressions in Mathematica David Bailey <dave@removedbailey.co.uk> - 2011-06-18 23:55 +0000
  Re: Metastable expressions in Mathematica Daniel Lichtblau <danl@wolfram.com> - 2011-06-18 21:44 +0000

csiph-web