[plt-scheme] to define, or to let

From: Eli Barzilay (eli at barzilay.org)
Date: Sat Mar 20 22:46:14 EST 2004

On Mar 20, Bradd W. Szonye wrote:
> 
> > Section 1.3.2:
> > 
> >   When speaking of an error situation, this report uses the phrase
> >   "an error is signalled" to indicate that implementations must
> >   detect and report the error.  If such wording does not appear in
> >   the discussion of an error, then implementations are not
> >   required to detect or report the error, though they are
> >   encouraged to do so.  An error situation that implementations
> >   are not required to detect is usually referred to simply as "an
> >   error."
> 
> Which is why it's dangerous and non-portable to rely on the
> initialization order.

As well as relying on argument evaluation order, hash-tables,
parameters, threads, custodians, various syntactic extensions,
modules, syntax-case, actually everything in the sytax system beyond
syntax-rules, any form of GUI, custodians, weak pointers, structures,
exceptions, escape continuations, semaphores, regular expressions,
channels, security guards, namespaces, external processes, etc.

On the other hand, there are lots of features in CL, ML, Haskell,
Python, C++, Java, Perl, and Emacs Lisp that you cannot rely on at
all, making them extremely dangerours and even more non-portable.

But you know all that, so pretend I didn't say the above.

(Also pretend I added:
  Followup-to: comp.lang.scheme
as I should have.)
-- 
          ((lambda (x) (x x)) (lambda (x) (x x)))          Eli Barzilay:
                  http://www.barzilay.org/                 Maze is Life!


Posted on the users mailing list.