[racket-dev] [racket] Multiple return values

From: Jim Wise (jwise at draga.com)
Date: Fri Dec 16 11:57:38 EST 2011

Matthias Felleisen <matthias at ccs.neu.edu> writes:

> My hunch is that I forgot my meta-meta-lessons from the 1980s. Back then
> the standard argument for lazy programming was that 'the regular lambda
> calculus is uniform and easy to use and you never have to think about 
> when substitution works'. [This argument applied both for the misleading
> idea of thinking 'applicative reduction' -- whatever that really is --
> had anything to do with CBV or the Plotkin-style reasoning.] Worse, when
> you generalize this to imperative languages, it looked like it all broke
> down and therefore it wasn't any good either. My reply used to be that 
> pragmatics of programming comes first and we have got to develop the 
> reasoning tools for the pragmatically good languages, though with some
> give and take. [My argument works equally well for axiomatic condemnation
> of call/cc and friends.]

This reminds me (tangentially?) of a post from Bob Harper about why lazy
programming as a default is awful (and by extension why ML is better
than Haskell for reasoning about code, both in teaching and in real
world programming -- though the same points could be easily used for
Racket ):

  http://existentialtype.wordpress.com/2011/04/24/the-real-point-of-laziness/

-- 
				Jim Wise
				jwise at draga.com
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 831 bytes
Desc: not available
URL: <http://lists.racket-lang.org/dev/archive/attachments/20111216/ff209820/attachment.sig>

Posted on the dev mailing list.