A thorough introduction to the Scheme that covers all of its key components, including abstraction, functional programming, data types, recursion, and semantic programming.
You'll begin by learning about command-line arguments and parsing before moving on to creating a fully functional Scheme interpreter that carries out a sizable portion of the R5RS Scheme. You'll pick up knowledge of Haskell's I/O, mutable state, dynamic typing, error handling, and parsing capabilities along the way. You ought should be somewhat proficient in both Haskell and Scheme by the time you're done.