On Fri, Jan 3, 2014 at 10:20 PM, Chris Seberino <cseber...@gmail.com> wrote:
>
> Exceptions, modules, OOP, etc. would be tricky to implement in Scheme but at 
> least the basics like for loops, while loops, assignment etc. would seem 
> doable and very instructive for students.....they would thereafter, for all 
> time, have a mental image of what the Python interpreter is doing.

If thats the intent, sure, scheme is heaven for such
In particular, take a language, break it up into a dozen or so
'little-languages' eg
one for types, one for control structures, one for scoping/parameter
passing etc while 'stubbing out' the rest -- for such scheme is simply
unbeatable.
And this includes IDEAS of oop modules etc.

Its only when you then start demanding: "Why cant this become
realistic?" that things start creaking and groaning at the edges

A simple example:
One of the much touted features of modern functional languages like
Haskell (actually its the SML family) is pattern matching. I
implemented a macro -- destruct -- to do it in scheme -- all of 91
lines!

Now one gets greedy and says: "Hey! Neat! Only small catch is that
haskell patterns looks so much neater than these home-cooked
Lots-of-Irritating-Single-Parenthesis (aka Lisp-y) patterns." And
Wham! The shit begins to hit the ceiling

To my mind, scheme is so powerful that even Abelson and Sussman dont
get how powerful.  I wrote a blog post on that but then diluted the
title :D
http://blog.languager.org/2013/08/applying-si-on-sicp.html

On the whole though, functional languages are distinctly weaker than
lisps but much easier for students.  Heres an old Wadler paper
explaining that:
http://www.cs.kent.ac.uk/people/staff/dat/miranda/wadler87.pdf
-- 
https://mail.python.org/mailman/listinfo/python-list

Reply via email to