MathGroup Archive 2011

[Date Index] [Thread Index] [Author Index]

Search the Archive

Re: Bug with Sequence and Assignment by Part...

  • To: mathgroup at smc.vnet.net
  • Subject: [mg121675] Re: Bug with Sequence and Assignment by Part...
  • From: BernieTheJet <berniethejet at gmail.com>
  • Date: Sun, 25 Sep 2011 05:42:00 -0400 (EDT)
  • Delivered-to: l-mathgroup@mail-archive0.wolfram.com
  • References: <j5f6ai$q8a$1@smc.vnet.net>

Thank you Leonid for the link, and thank you Oleksandr for pointing me
to OwnValues, I hadn't ever used that before.

So everyone's opinion seems to be that this is not a bug and that this
construct is something of a manipulation of proper Mathematica syntax -
something approaching a hack - because Sequence is a low-level
function that one should understand Mathematica's evaluation sequence before
using.  Ok, that is fine.  Certainly that is one interpretation ('when
looked at from a certain perspective').  Certainly one can't claim
that the use of Sequence is hidden, or in anyway indicated to be a
'low-level' operator by its presentation in the Help, except insofar
as it is given a perfunctory presentation.

But I think that it is just as valid to say that this 'bug' it is
counter to one of my favourite Mathematica design philosophy which is,
somewhat similar to Apple in this regard, to remove all the tedious
and computer-ish work from the user's care, to take care of that
behind the scenes, while still delivering as much of the power of the
language as possible.  So for users to have to understand Mathematica's
evaluation sequence, SequenceHold (which I have never once used, or
perhaps even needed), or OwnValues (ditto) in order to get logical
behaviour from a function seems to clearly go against this
philosophy.  Of course one can counter that there is another design
philosophy in Mathematica of mixing the best of all worlds, and never forcing
oneself to strictly subscribe to any one design structure, which I
also support.

For me, I just guess that Sequence is a 'hack' that WRI implemented to
get around the limitation that everything be a List.  A 'hack' in that
it defied their initial plan that everything be representable as
Lists, and then a 'hack' in that they couldn't get it to work in a
logical fashion in all subsequent interactions with other functions,
as seen here.

B




  • Prev by Date: Re: problem opening mathematica
  • Next by Date: Re: A fast way to compare two vectors
  • Previous by thread: Re: Bug with Sequence and Assignment by Part...
  • Next by thread: Re: Bug with Sequence and Assignment by Part...