Matthias Felleisen <[email protected]> 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 [email protected]
pgp2ornoS7LG7.pgp
Description: PGP signature
_________________________________________________ For list-related administrative tasks: http://lists.racket-lang.org/listinfo/dev

