"Gary T. Leavens" <[EMAIL PROTECTED]> writes:
> The following relate to Hugs 1.4 of July 1997.
> 
> I note the following problems, none of them serious.
> 
> At the end of section 6 of the Haskell Tutorial, there are the words
> "mat lead to" which should be "may lead to".

Thanks, John Peterson is on the hugs-bugs list too so he can fix this.

> The tutorial didn't ship with the hugs32.zip file, and I think it should.

The hugs32.zip file includes:

o 3 versions of Hugs (text user interface, graphical user interface and
  no user interface)
o lots of documentation (user guide, language report, library report
  and several mini-documents)
o lots of libraries

and still fits onto a single 1.4M floppy disk!  
I don't think there's room to fit anything else in there - but I'm open to
suggestions for what we could afford to leave out.

> In Prelude.hs, the definition of >> in the Monad class is circular
> with the desugaring for do given in the report.  I think it should be
> as in the library report, but perhaps do is interpreted specially?
> Anyway, >> seems to work correctly, at least for lists.

Close examination of the desugaring part of the compiler reveals that we
translate:

   do {e;stmts}   -->  e >>= \_ -> do {stmts}

instead of

   do {e;stmts}   -->  e >> do {stmts}

This explains why there's no circularity - but suggests that we could be
going a little bit faster if we wanted to.  Anyway, I've fixed the Prelude
to match the report - just in case anyone ever feels like improving the
desugarer.

Alastair

Reply via email to