[racket-dev] [racket] Multiple return values
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>