Skip to content
0:00 / 0:00

#typeclasses#polymorphism#subtyping

Adventure with Types in Haskell - Simon Peyton Jones (Lecture 1)

jasonofthel33t

11K subscribers • 8 videos on Hallway

YouTube
  • Recommended by 2 people: 1 on Lobsters and 1 in engineering communities.
  • Presented by Simon Peyton Jones, co-designer of Haskell

Intermediate. Assumes working knowledge.

69K views12 years ago2 recommendations

Programming languagesHaskellLanguage design and type systemsFunctional programming

Simon Peyton Jones introduces Haskell type classes, explaining how they enable polymorphism and relate to object-oriented programming.

Recorded at Oregon Programming Languages Summer School 2013. cs.uoregon.edu/research/summerschool/summer13/curriculum.htm… Lecture 1 Slides: cs.uoregon.edu/research/summerschool/summer13/lectures/Class… System F in GHC: cs.uoregon.edu/research/summerschool/summer13/lectures/FC_in… Kinds and GADTs: cs.uoregon.edu/research/summerschool/summer13/lectures/Kinds… Type Inference: cs.uoregon.edu/research/summerschool/summer13/lectures/Type_… Fun with Type Functions: cs.uoregon.edu/research/summerschool/summer13/lectures/FunWi…

Why it's here

2 people recommend this

What people say. Recommended as an excellent lecture explaining type classes and how they compare to object-oriented interfaces.

u/jsyeoin r/haskell • Recommends

Adventure with Types in Haskell - Simon Peyton Jones 1:33:36

bitemyappon Lobsters • Recommends

Adventure with Types - Simon Peyton Jones

u/mn-haskell-guyin r/haskell • Mentions

SPJ talks at Oregon Programming Languages Summer School 2013 Here is a series of recently uploaded talks given by SPJ at the Oregon Programming Languages Summer School - July 22-August 3, 2013: - Fun with Type Functions: - part 1: link to this video - part 2: link to this video - last two minutes: link to this video - slides - Adventure with Types in Haskell - link to this video - slides MP4 versions of more talks are available at https://www.cs.uoregon.edu/research/summerschool/summer13/curriculum.html

ablesearcheron Hacker News • Mentions

On “Making Elm faster and friendlier in 0.16”

…d concepts on the first day doesn't mean they shouldn't be a part of the language. Similarly, the fact (<~) might confuse someone new to Elm isn't a reason for removing it from the language. I'm sympathetic to the concern that some code is too "clever" or dense; but Elm swings the pendulum too far. (Btw, type-classes are not incidental complexity: link to this video link )…

pjmlpon Hacker News • Mentions

On “Zygomys – An embedded scripting language for Go”

Yes Haskell type classes are interfaces from OOP point of view. And given time on the weekend I might try to find out the talk given by SPJ about this very issue. Polymorphism and dynamic dispatch are part of OOP. EDIT: Found Simon's talk Adventure with Types in Haskell, part 1 and part 2: link to this video link At 1:01:01 on the first lecture he discusses how Haskell relates to OOP in regards of subtyping and generic polymorphism and how although different on the surface they share those CS concepts in their own ways. link to this video

davnnon Hacker News • Mentions

On “The Design and Use of QuickCheck”

Also: it's the coolest example of type classes Simon Peyton Jones knows and he explains why here (around 34-35 min): link to this video

pjmlpon Hacker News • Mentions

On “Great things about Rust that aren't just performance”

Thankfully this fellow Simon Peyton Jones has a talk about how they map into OOP paradigm. "Classes, Jim, But Not as We Know Them — Type Classes in Haskell: What, Why, and Whither" link "Adventure with Types in Haskell" link to this video link On the first lecture he discusses how Haskell relates to OOP in regards of subtyping and generic polymorphism and how although different on the surface they share those CS concepts in their own ways.