Hi all,<br>
<br>
I've written a Haskell tutorial that walks the reader through the implementation of a Scheme interpreter:<br>
<br>
<a href="http://halogen.note.amherst.edu/~jdtang/scheme_in_48/tutorial/overview.html">http://halogen.note.amherst.edu/~jdtang/scheme_in_48/tutorial/overview.html</a><br>
<br>
Instead of focusing on small examples at the Haskell REPL, it tries to
show the reader how to construct a real program with Haskell.&nbsp; It
introduces monads and IO early, and also includes error checking,
state, file I/O, and all the other &quot;hard stuff&quot; that's frequently
omitted from beginner tutorials.<br>
<br>
Am looking for feedback on two main axes:<br>
<br>
1.) Experienced Haskell users: is this more-or-less idiomatic
Haskell?&nbsp; Did I miss any library or language features that could
make the programmer's job easier?&nbsp; It was my first substantial
Haskell program, so I worry that I may have missed some common ways of
doing things.<br>
<br>
2.) Novices: is it clear and easy to understand?&nbsp; I had a tough
time figuring out how to do anything practical in Haskell, because most
tutorials omit IO, gloss over monads, and don't pay any attention to
state or error-checking.&nbsp; Does this rectify those shortcomings?<br>
<br>
Comments/critiques are appreciated.<br>
<br>
Regards,<br>
Jonathan<br>