In article <··········@cantaloupe.srv.cs.cmu.edu> Kjetil Valstadsve,
·····@pvv.unit.no writes:
>Subject: Functional prog. as an introduction to CS?
>From: Kjetil Valstadsve, ·····@pvv.unit.no
>Date: 17 Nov 1995 02:15:33 GMT
>
>I`m looking to write a report on the use of functional programming as
>an introduction to computer science.
>
...
>
>My primary example of a learning language would probably be ML, though
>Scheme is also an option.
>
>Point of order: I would like opinions on the feasibility and value of
>such a study, as well as opinions on the subject itself, and also
>would like to get in touch with people who have written similar
>reports.
In article <··········@cantaloupe.srv.cs.cmu.edu> Chuck Bass,
·······@ix.netcom.com replies:
>
>I learned scheme first and believe it had the biggest impact on my
>programming career. The problem with scheme is that you will loose
>people who already "know" how to code. Recursion for iteration doesn't
>come easy to many people.
I have opinions on these points that I would like to venture.
First, it's a good idea. I think the scheme experience at MIT and the
success of the Abelson and Sussman text proves it.
Second, I think you should look at Sisal as the language you use.
It's a functional language, fairly simple and easily learned but
expressive enough to be readable. It has real data types, e.g. arrays,
records, adn unions, so data structures are doable. And, while it
swupports recursion, it also supports for-loops and sequential (read:
iterative) looping, so it does not require the use of recursion for
those things one would rather do otherwise.
There's a web-based tutorial on Sisal at URL
"http://redhook.llnl.gov/iscr/projects/crg/sisal.tutorial/"
The Sisal project home page is at
"http://www.llnl.go/sisal"
And the Sisal compiler and other software is available at
"ftp://sisal.llnl.gov/pub/sisal"
Tom DeBoni
······@llnl.gov
member of the Sisal project