On Thu, 9 Sep 1999, Martin Norb{ck wrote:

> Thu Sep 09 1999, Josef Sveningsson ->
> Just because it's only informally defined in the report, doesn't mean it
> does not exist. For practical programming purposes, the informal
> semantics suffices. If you are a compiler/interpretor designer you may
> be of another opinion though.
> 
> Or am I just plainly wrong, Haskell has no operational semantics, only a
> denotational? 
> 
Let me quote from Chapter 1 in the Haskell98 report:

This report defines the syntax for Haskell programs and an informal
abstract semantics for the meaning of such programs. We leave as
implementation dependent the ways in which Haskell programs are to be
manipulated, interpreted, compiled, etc. This includes such issues as the
nature of programming environments and the error messages returned for
undefined programs (i.e. programs that formally evaluate to _|_).

The report doesn't even say that Haskell should be lazy, only that it's
non-strict. Now, it happens that most (all?) implementations have very
similar operational semantics, but I don't think that a Haskell library
should assume anything more about the semantics other than that stated in
the report.

        /Josef

----------------------------------------------------------
|Josef Svenningsson|http://www.dtek.chalmers.se/~d95josef|
|Rubingatan 39     |  email: [EMAIL PROTECTED]   |
|421 62 Göteborg   |          tel: 031-7090774           |
----------------------------------------------------------
What is a magician but a practising theorist?
                -- Obi-Wan Kenobi



Reply via email to