This is the mail archive of the guile@cygnus.com mailing list for the guile project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: Scheme tutorial


"Ian Bicking" <bickiia@earlham.edu> writes:

> Hmm... filter is usually what comes right after factorial.  I'm not 
> sure I want to impose Scheme thinking on a person just because 
> they want to do some Scheme programming.  Not that there's 
> anything wrong with Schemely thought, just that it might be better 
> to let them discover that on their own once they've got a good 
> grasp on the basic aspects of the language itself.

I don't know that it's avoidable, though. A mostly direct translation
of procedural code to scheme is really, really gross, and rarely works
well. Since the fundamentals of scheme are based on, well, schemely
thought, approaching it in other ways is like banging your head
against a wall (and there's not much point in using scheme if you're
going to do program perl; better to use perl, which can't get much
grosser for methods of programming ;).
 
> Also, introductions to Scheme tend to emphasize recreating the 
> basic Scheme functions.  I think this comes from the 
> minimalist/mathematical backgrounds of many of the Scheme 
> enthusiasts and the texts they right.  I'd like to have something that 
> teaches them to do something that they couldn't have done 
> otherwise.  

This isn't to say that it shouldn't include some actual interesting
bits ;), but it's not a bad idea to show how powerful the basic
primitives can be. A lot of what you can do with scheme is somewhat
foreign to someone coming from more limited languages; however, if you
don't show those bits, you don't have much reason to recommend scheme
over those languages.

[snipage]

> Does a newbie need to understand continuations?  They don't 
> seem to show up all that often in practical programming.  I didn't 
> understand continuations until recently, and I'm still not sure if I 
> understand them completely.  But I get by okay.

I was just thinking of the absolute hardest thing to find information
on when you start programming scheme. Again, you don't need it, but
it's at least nice to know it exists, and even better if you have a
place where you can look to find an explaination when you do need it. 

-- 
Greg