5 ms·
IIRC, even Simon Peyton Jones has stated lazy evaluation was a design mistake.
by spekcular 6y ago
IIRC, even Simon Peyton Jones has stated lazy evaluation was a design mistake.
- dunefox 6y agoI'm gonna need a source for that.
- spekcular 6y agoThe exact quote and source (powerpoint slides) are in this HN comment: https://news.ycombinator.com/item?id=1924061 https://news.ycombinator.com/item?id=1924061. See also the insightful comment of plinkplonk on that thread.
- dunefox 6y agoThat has to be the worst set of slides I have ever seen. Thanks.
- danielscrubs 6y agoComic Sans is arguably an excellent font for learning. It's funny how the world works. https://www.dictionary.com/e/comic-sans-font/ https://www.dictionary.com/e/comic-sans-font/
- deleted 6y ago[deleted]
- danielscrubs 6y agoFrom what I understand of the talk: Laziness enforced purity in the beginning. Now that we collectively know that reasoning about effects is a good thing we can remove laziness but keep that part. I'd say it was a happy little mistake.
- mcguire 6y agoThat's the "Wearing the Hair Shirt" talk, for those that are familiar. "Purity is more important than, and quite independent of, laziness "The next ML will be pure, with effects only via monads. The next Haskell will be strict, but still pure. "Still unclear exactly how to add laziness to a strict language. For example, do we want a type distinction between (say) a lazy Int and a strict Int?" From plinkplonk: "It is through insisting on laziness as default and solving some of the problems encountered (via monads for e.g) that he arrived at the position that "the next Haskell will be strict". He also notes some open problems with adding laziness into a statically typed strict language (slide 40 "Still unclear exactly how to add laziness to a strict language. For example, do we want a type distinction between (say) a lazy Int and a strict Int?")."
- tome 6y ago> The next ML will be pure, with effects only via monads Which has already been proven wrong, by the way, by F#, which appeared in 2005 ("Wearing the hair shirt" was from 2003), so I think the comment is not to be taken too literally. https://www.microsoft.com/en-us/research/publication/wearing-hair-shirt-retrospective-haskell-2003/ https://www.microsoft.com/en-us/research/publication/wearing...
- runeks 6y agoSPJ said laziness-by-default was a design mistake. I.e. he’d still want laziness in a future version of Haskell, but not turned on by default.