I have not read Bob's blog, but Bob and I arrived at this conclusion at about the same time and we discussed it extensively during my sabbatical at CMU in 93/94. -- I am not at all surprised that one opinion reminds you of the other. -- Matthias
On Dec 16, 2011, at 11:57 AM, Jim Wise wrote: > Matthias Felleisen <matth...@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 > jw...@draga.com _________________________________________________ For list-related administrative tasks: http://lists.racket-lang.org/listinfo/dev