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


> I remember that clisp had an ok introduction to lisp included... this
> might fall more in the factoral camp, though (I can't remember that
> much, but it is what started me on lisp, back when I installed my
> first slackware). There seem to be more of this sort of thing
> available for cl, actually, so you might want to take a look a the alu
> site (I can't quite remember where it is right now... there's a link
> to it from the

I'll look around for the clisp and common lisp stuff.  I'd also 
apreciate recommendations for tutorials for Perl, Icon, Python, 
Java, Fortran, or anything else.  Anything that helps me get a feel 
for what makes a good tutorial.

> > Opinions on how much I should emphasize scripting an application 
> > vs. writing a more generic piece of Scheme code?  Is there any 
> > application that might be considered a reference work for scripting? 
> > I.e., would there be a Guile-scriptable application that could be 
> > considered a prerequisite for working through the tutorial, or is that 
> > too much to ask from the reader?  Installing any particular 
> > application can be a pain, and I'd like to make the tutorial as low-
> > commitment as possible.  OTOH, I'd like to have a tutorial where 
> > people can do some neat things early on, and scripting an 
> > application is a good way to do this.
> 
> You might want to include bits of both. For demonstrating scheme,
> building a small list library might be a good base, since this would
> allow you to naturally introduce things like first-class functions and
> tail recursion, as well as most of the primitives 

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.

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.  

The tutorials for text-processing languages tend to involve parsing 
some text file using all the language features and primitives 
available, put together in a way customized for some particular 
problem.  I'd like to do the same thing for Scheme.  Lists are top-
dog in Scheme, so they'd certainly show up.  But, IMHO, 
programming filter should be an aside, solving a problem should be 
the point.  What problems do people solve with Guile?

[snipsnip]
> One thing you definately should make a priority, though, is
> continuations, since these are probably the hardest thing to figure
> out for newbies to scheme.

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.


--
Ian Bicking <bickiia@earlham.edu>