[plt-scheme] call-by-value vs. call-by-name?

From: Prabhakar Ragde (plragde at uwaterloo.ca)
Date: Mon Jan 28 18:28:05 EST 2008

Jerzy Karczmarczuk writes:

> For me laziness is an algorithmization tool. It permits to transform
> equations into effective codes (perhaps not always terribly efficient,
> but this is another story).

I think this is a big issue. There is a lot that is terribly attractive 
about Haskell, but the analysis of time and space efficiency seems to me 
to be beyond the reach of most undergraduates [*] at this point in time, 
which means most programmers. Needing to know type theory in order to 
understand error messages is another issue.

match.ss starts to pull Scheme in the direction of Haskell, as does 
Typed Scheme. Lazy Scheme is a beautiful pedagogical tool, but not 
intended, I believe, for serious work. Streams are a little too high in 
syntactic overhead for effective use in Scheme. But lurking somewhere 
close by is something that hits the sweet spot. I fully expect a clever 
PLT Scheme graduate student to discover it shortly. --PR

[*] Well. It is beyond me at this point in time, which certainly means 
that I don't know how to teach it. Perhaps undergraduates are smarter 
than I think.

Posted on the users mailing list.