Lambda the Ultimate

inactiveTopic Teach Yourself Scheme in Fixnum Days
started 4/6/2004; 11:16:35 AM - last post 4/13/2004; 3:27:46 PM
Chris Rathman - Teach Yourself Scheme in Fixnum Days  blueArrow
4/6/2004; 11:16:35 AM (reads: 11448, responses: 6)
Teach Yourself Scheme in Fixnum Days
This is an introduction to the Scheme programming language. It is intended as a quick-start guide, something a novice can use to get a non-trivial working knowledge of the language, before moving on to more comprehensive and in-depth texts.

I was gonna post a bit of Lisp advocacy with Better is Better (a takeoff on the classic Worse is Better) but then that probably wouldn't qualify as playing "Nice". :-)

My end goal is to work through two books that I acquired: EOPL and Lisp in Small Pieces. But I found that I needed to refresh / upgrade my knowledge of Scheme before I can make my way through.

The above tutorial is a nice lean intro to Scheme for those that like their PL material to be concise. In trying to immerse myself in Scheme, I've read SICP (as well as the videos) and am about halfway through The Little Schemer. Any other suggestions for other "must read" Scheme material?

Also, does anyone have a list of the standard library functions and macros that accompany MZScheme? Or at least know a way to query the environment to return the known defines? I want to update my editor to recognize and color the "reserved words".
Posted to teaching/learning by Chris Rathman on 4/6/04; 11:18:43 AM

Dominic Fox - Re: Teach Yourself Scheme in Fixnum Days  blueArrow
4/6/2004; 2:32:41 PM (reads: 569, responses: 0)

The Seasoned Schemer, obviously; but I would have thought both of the Friedman/Felleisen books before SICP? Having said that, it's sometimes refreshing to read a painstakingly back-to-basics text on something you think you know already, and the Schemer books do demonstrate an interesting approach - using a very restricted subset of the language, and discussing a few fundamental concepts.

This reminds me that I ought to get back to Scheme - I was very enthused with it a few months ago, and have been up to my ears in C# (day job) ever since...

Dimitry Gashinsky - Re: Teach Yourself Scheme in Fixnum Days  blueArrow
4/6/2004; 3:09:04 PM (reads: 550, responses: 0)
I use this code to find matching symbols. You can call it like this (matching-symbols "") to get all mapped symbols.

(define (matching-symbols string) (let loop ((syms (namespace-mapped-symbols)) (result '())) (if (null? syms) result (let ((sym-str (symbol->string (car syms)))) (if (and (>= (string-length sym-str) (string-length string)) (string=? (substring sym-str 0 (string-length string)) string)) (loop (cdr syms) (cons (list (symbol->string (car syms))) result)) (loop (cd syms) result))))))

Chris Rathman - Re: Teach Yourself Scheme in Fixnum Days  blueArrow
4/6/2004; 3:18:11 PM (reads: 549, responses: 0)
Dimitry: Works like a charm - Thanks.

Dominic: Seasoned will probably be next on my list. And I am probably working my way backwards - but at least it gives me some confidence that I'm getting somewhere. :-)

Michael Lenaghan - Re: Teach Yourself Scheme in Fixnum Days  blueArrow
4/13/2004; 2:19:25 PM (reads: 106, responses: 0)
One of the best books on advanced Lisp programming (I think) is Paradigms of Artificial Intelligence by Peter Norvig. The book is about more than just AI; indeed, he implements a Scheme interpreter and compiler (with optimizations) in Lisp. Here's a link:

Chris Rathman - Re: Teach Yourself Scheme in Fixnum Days  blueArrow
4/13/2004; 3:27:46 PM (reads: 104, responses: 0)
I've heard PAIP mentioned in the past. I see from the index that he does delve into Scheme. Wondering, though, whether it might not be more confusing to subject myself on Common Lisp? (Not to get into an argument over the relative merits of CL & Scheme).