Well, if it might help you give Scheme a bit more of a try, you might try going to Language:Choose Language...
and setting it to 'Swindle - Full Swindle'. This will give you access to the Scheme Request For Implementation
libraries, as well as to an existing OOP library called Swindle
(based loosely on the CLOS
, the OOP library for Common Lisp
). The SRFIs are pretty widely used, so portability shouldn't be a problem; Swindle is specific to the PLT implementations, but as long as you are sticking to MzScheme/Dr Scheme, you should do fine with it, especially now that it is actually part of the standard installation. You would probably want to look at the Planet Scheme Library
, the Scheme Cookbook
(a collection of Scheme example code, including most of the common data structures - such as binary heaps and priority queues...), the CMU Scheme Repository
, and (read scheme)
I don't want to pressure you on it, but I really do think that Scheme has something to offer most programmers, and that understanding its more unique aspects (e.g., homoiconicity
, higher-order functions
) will give you insights that apply to programming in general.
A-different-sort-of-insecurity dept.: By the way, what did you think of Scheme in Short
, and was it of any help to you? You might want to compare it to some of the more comprehensive tutorials
, and see of they help clarify anything I didn't cover.
This blog entry
has a fairly good explanation of both closures and continuations, written mostly for Perl 6 but applicable in general. Oh, two more links, a Scheme related blog (Scheming
) and a page explaining the lambda calculus (http://www.jetcafe.org/~jim/lambda.html) . HTH.