Skip to content
0:00 / 0:00

#haskell#simonpeytonjones#lazyevaluation

Simon Peyton Jones - A History of Haskell: being lazy with class

Microsoft Research

359K subscribers • 12 videos on Hallway

YouTube
  • Recommended by 2 people: 1 on Lobsters and 1 curated list.
  • Presented by Simon Peyton Jones

Intermediate. Assumes working knowledge.

14K views10 years ago2 recommendations

Programming languagesHistory and cultureHaskellHistory of computingLanguage design and type systems

Simon Peyton Jones recounts the history, design principles, and evolution of the Haskell programming language.

Simon describes the history of Haskell, including its genesis and principles, technical contributions, implementations and tools, and applications and impact.

Why it's here

2 people recommend this

What people say. Recommended as an essential and entertaining history of Haskell's design and evolution by one of its creators.

Moments people linked to

programming-talkscurated list on GitHubRecommends

Under “Haskell”

A History of Haskell: being lazy with class 00:56:46 by **Simon Peyton Jones** (2007)

zgeon Lobsters • Recommends

A History of Haskell: being lazy with class (2007)

u/Disjunction181in r/ProgrammingLanguages • Mentions

On “Do you see Rust as a transitional, experimental language, or as a permanent language?”

I think it's clear that Rust has passed SPJ's threshold of immortality, meaning enough software must be maintained in Rust for it to stick around for a very long time. Eventually, it may wither away like a black hole in space, a la COBOL. It's impossible to judge how long its longevity will be relative to C; it depends largely on how much attention Rust receives compared to its competitors and successors in the future. Right now there isn't anything really like Rust, though some system languages are trying to mimic its notion of ownership, and I think Rust is seen as a serious mainstay language. I don't think languages will evolve to be simpler over time, and I certainly don't think Rust…
92View on Reddit

u/deepcleansingguffawin r/haskell • Mentions

On “Why isn't there other non-strict languages implemented after Haskell?”

Haskell is non-strict because researchers were researching non-strict semantics and came together to define a standard language they could all use to share their work. In retrospect, (according to Simon Peyton Jones) purity is more important than laziness, and laziness has very real cost. link to this video http://research.microsoft.com/en-us/um/people/simonpj/papers/haskell-retrospective/

u/SonOfTheHeavenin r/haskell • Mentions

On “Looking for an SPJ talk”

perhaps A History of Haskell: being lazy with class, around 30 seconds in.

u/mirpain r/haskell • Mentions

On “Why isn't there other non-strict languages implemented after Haskell?”

Part about laziness starts here: [video
9View on Reddit

u/schoon0711in r/haskell • Mentions

On “Is it possible to be pure without being lazy?”

Isn't it the other way round? You cannot be lazy unless you're pure as well? SPJ seems to suggest so. [video
8View on Reddit

u/addherin r/haskell • Mentions

On “Idris 1.0 Released”

Strict vs. non-strict (de facto lazy because of GHC) is a massive difference. SPJ in face gave a talk on how laziness informed other design decisions.

u/etareducein r/haskell • Mentions

On “Idiomatic monads in Rust”

(I'm the @Centril, referenced in the article) > ... I'm going to observe that I've seen half-a-dozen implementations of a "monad" in other languages, and what's clear is that the reason Haskell can use it is that it's the only language that has all the necessary features to make it work, make it safe, and make it worth a try. I don't know what leads you to this belief. Monads work perfectly fine in Idris with the same do-notation. Without purity you won't get the same equational reasoning properties but we could take a sort of "fast and loose reasoning is morally correct"-esque perspective here and pretend we have purity. I think you overestimate how uniquely suited Haskell is for monads…

u/-Knul-in r/haskell • Mentions

On “Why is newtype necessary?”

It is very hard to make a lazy language impure. According to Simon Peyton Jones, the best consequence of the decision for Haskell to be lazy is that it made the language relentlessly pure. It for example prevented them to go the easy route with IO, which was only solved with the realization that monads could handle that. Sources: * http://www.cs.nott.ac.uk/~gmh/appsem-slides/peytonjones.ppt * link to this video
3View on Reddit

u/simonmicin r/haskell • Mentions

On “What are the best books/tutorials to use for learning Haskell?”

…sing Haskell and contains small and large Haskell projects that will teach you new techniques of Haskell development as well as providing useful code for reuse in your own projects. This book is a self contained learning resource for a practical subset the Haskell programming language and ecosystem.* Graham Hutton's Functional Programming course: link to this video Chris Smith's CodeWorld learning environments: https://code.world (for beginners), then https://code.world/haskell (to learn Haskell) Kowainik's hands-on Learn4Haskell course with free support: https://github.com/kowainik/learn4haskell For historical context and insight: https://www.microsoft.com/en-us/research/publication/a-history-of-h…

u/runeksin r/haskell • Mentions

On “Why was Haskell named after someone's first name and not last name?”

In this talk SPJ says that there'd be too many ways to joke about the language if it were called "Curry", so it was named after Haskell Curry's first name instead.

u/recursion_is_lovein r/haskell • Mentions

On “Is Haskell deliberately staying away from main-stream programming”

And it still fails, what ever it do wrong; Haskell users is stubborn, they never give up. [video
1View on Reddit