Skip to content
0:00 / 0:00

#haskell#monads#laziness

Simon Peyton-Jones: Escape from the ivory tower: the Haskell journey

Churchill College, University of Cambridge

9.9K subscribers • 1 video on Hallway

YouTube
  • Recommended by 9 people: 5 on Hacker News, 1 on Lobsters, 2 in engineering communities and 1 curated list.
  • A classic. People kept recommending it from 2017 to 2024.
  • Presented by Simon Peyton Jones, co-creator of Haskell

Intermediate. Assumes working knowledge.

170K views9 years ago9 recommendations

Programming languagesHistory and cultureHaskellFunctional programmingLanguage design and type systems

Simon Peyton Jones discusses the birth, evolution, and key design decisions of Haskell, including laziness and monads.

Churchill College's annual Computer Science lecture. In this talk Simon discusses Haskell’s birth and evolution, including some of the research and engineering challenges he faced in design and implementation. Focusing particularly on the ideas that have turned out, in retrospect, to be most important and influential, as well as sketching some current developments and making some wild guesses about the future.

Why it's here

9 people recommend this

What people say. Highly recommended for its accessible explanation of how laziness led to the adoption of monads in Haskell.

Moments people linked to

u/joehillenin r/haskell • Recommends

Simon Peyton-Jones: Escape from the ivory tower: the Haskell journey

modernerdon Hacker News • Recommends

On “Learning Haskell is no harder than learning any other programming language”

…l paper on Comprehending Monads PDF: link Philip Wadler and Simon Peyton-Jones' paper on Imperative Functional Programming PDF: link Simon Peyton-Jones mentions both papers and talks about why monads came to be part of Haskell in his talk on the history of Haskell here, with examples that are a little more accessible than the above papers: link to this video introduction to purity and then monads starts around 30:07 It's a funny talk and it's worth watching in full, but here's a nice soundbite: “So what did we do for IO? Well, we just didn't have any. audience laughs So the joy of being an academic, right, is you can design a language — in 1990, I beg to inform you — that had no input/outpu…

programming-talkscurated list on GitHubRecommends

Under “Haskell”

Escape from the ivory tower: the Haskell journey 01:04:15 by **Simon Peyton-Jones** (2017)

andycon Lobsters • Recommends

Escape from the ivory tower: the Haskell journey (2017)

arianvanpon Hacker News • Recommends

On “Rust as a gateway drug to Haskell”

SPJ also noted that the original success of haskell was due to their pursuit of laziness. Because laziness has no place in a system with side effects, their pursuit of laziness and functional programming is what led them to discover the usefulness of monads for describing it in the first place. If they were pursuing a strict language instead, then they were allowed to take shortcuts, because sneaking in side effects is a lot easier. YEs maybe the next haskell will be strict, but getting to the point to make that decision required laziness. SPJ made a great lecture about this. It is very easy to follow and a fun insight into the academic history of modern functional languages link to this video

supericeon Hacker News • Recommends

On “Are unsound type systems wrong?”

…necessarily a problem, but consider the problem the other way around: given a sound typesystem, how do we improve this in such a way that a) the average Joe will understand it b) it decreases the overhead of writing the types c) the type system helps the programmer write better programs Haskells approach to this keeps the constraint of soundness: link to this video The whole video is very interesting even if you know nothing about Haskell, but are just interested in language design in general. To summarize the part of the video I just linked: Their approach so far has been to try and design the type system in such a way that you reduce programmer pain while not sacrificing soundness at all. It is a pa…

Tareanon Hacker News • Recommends

On “Why I never finish my Haskell programs”

> I'm from Microsoft and when you see Microsoft documentation it often says, you know, x y or z is a rich something, right. In this case Haskell - or ghc's version of haskell is a rich language. What does this mean? Sounds good, doesn't it? But it always means this, right. That it's a large, complex, poorly understood, ill documented thing that nobody understands completely. From a great talk by Simon Peyton Jones link to this video

ddellacostaon Hacker News • Recommends

On “Why does everyone hate Haskell, jazz, and pure math?”

Also, it's worth watching a bit of this talk (link at a particularly relevant time to start) because while Haskell is an "ivory-tower language," it is not _just_ an ivory tower language, and the people working on it are very much not just "a merry bunch of category theorists who had little interest in software engineering." link to this video This talk is seven years old btw. Caring about industry users in Haskell is not new.

u/oilshellin r/ProgrammingLanguages • Recommends

Escape from the ivory tower: the Haskell journey (2017)

u/vanderZwanin r/ProgrammingLanguages • Mentions

On “Beyond Opinionated: Announcing The First Actually Bigoted Language”

Just sharing this in case OP is looking for more inspiration: there was a time where a released version of the Haskell compiler would *delete your source-file* if it contained a type error (and was running on Windows, and the source file was in a different directory). Which is hilarious enough by itself, but the *best* part of this story is that Haskell programmers were so used to things breaking that the bug reports were almost apologetic for pointing out that this was an inconvenience. Source: Simon Peyton-Jones himself in this contalk link to this video
58View on Reddit

u/Ihr_Todeswunschin r/haskell • Mentions

Functional Computer Architectures This isn’t directly Haskell related, but this subreddit still seems to be the best place to ask it. I also realize that I could be grossly over simplifying/misunderstanding things, so if I made any mistakes, then please correct me. In this video, at 9:30, Simon Peyton Jones says that building a new functional computer architecture turned out to be a bad idea. He then says that he’ll come back to that point. Then at 10:06, he says that the functional architectures were mostly doomed to fail compared to the power of Intel, so they abandoned functional architectures instead to write compilers. I did some Google searching and couldn’t find anything on funct…

u/seagreen_in r/haskell • Mentions

On “Simon Peyton-Jones: Escape from the ivory tower: the Haskell journey”

…this is. I hope the community can start living up to this again. IMO you can express emphatic disagreement while still being polite, these things are pretty orthogonal. + Oh snap! The audience wakes up and immediately launches a surprise attack. "Whatever happened to the formal semantics of Haskell?" SPJ's answer is interesting (timestamped link: link to this video + It's a little weird looking at a slide that claims `f (print "yes") (print "no")` doesn't make sense in Haskell (from here: link to this video To me that makes perfect sense! It took me a minute to realize SPJ is talking about a hypothetical Haskell with side effects and `print :: ()`. I'm worried this may make people think Haskellers have trouble…
26View on Reddit

u/balefrostin r/haskell • Mentions

On “Haskell has grown and changed in amazing ways over the last ~10 years. How and why?”

In Escape From the Ivory Tower, SPJ says something like one of Haskell's greatest strength is its resistance to success. It's done better than many research languages, yet it hasn't become so successful that it's stuck with bad decisions for eternity. He believes that its long-term, low-key existence has enabled it to become quite refined. I suspect the same would be true of its supporting infrastructure.

u/Noughtmarein r/haskell • Mentions

On “Make invalid laziness unrepresentable”

It's here: link to this video (at 40:08) Transcript by me: > Laziness was the thing that initially brought us together, but I now think that the important thing about it is not so much the lazy functional programming. That's quite convenient and nice and modular. I do like it. The really important thing was that it prevented us from making those deals with the devil and forced us to come up with that monad idea. > > So now we know about that, were we to do it again, I can really imagine starting with a call-by-value language that was relentlessly pure. But you would have the support for laziness. And indeed we are all moving towards the middle there.
14View on Reddit

u/andrybakin r/haskell • Mentions

On “What is your favorite video with Haskell”

Simon Peyton-Jones: Escape from the ivory tower: the Haskell journey.

u/quiteamessin r/haskell • Mentions

On “Functional Programming Languages and the Pursuit of Laziness with Dr. Simon Peyton Jones - Microsoft Research”

I thought he didn't have a PhD. Did he receive an honors doctorate or is it a courtesy title?
11View on Reddit