"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