"Dependent Types in Haskell" by Stephanie Weirich

  Рет қаралды 23,021

Strange Loop Conference

Strange Loop Conference

Күн бұрын

Пікірлер: 13
@alexcoventry7580
@alexcoventry7580 7 жыл бұрын
Thanks, this was a terrific introduction, and the concrete example clarified things a great deal.
@johnmiller8884
@johnmiller8884 7 жыл бұрын
Thank you for the excellent talk. I appreciate the explanation of the use case for dependent types which are so often described win formal computer science terms without ever giving a motivation for their value. Seeing now why dependent types might be useful, is there a good resource that describes the skills and techniques needed to write something like the library in your example?
@xtty7644
@xtty7644 7 жыл бұрын
Benjamin Pierce's book Advanced Topics in Types and Programming Languages gives a pretty good explanation on the theoretical background of dependent typing. The book is an extension of the ideas developed in Pierce's previous book, Types and Programming Languages, so you might want to pick that one up first. This should be enough to understand how dependent types work. The rest is just advanced GHC features.
@FourTetTrack
@FourTetTrack Жыл бұрын
I loved the talk, thanks a lot Dr Weirich!!!
@marksaving756
@marksaving756 6 жыл бұрын
Excellent talk. I learned Haskell after learning Martin-Lof type theory and look forward to writing Π in my programs.
@lordquaggan
@lordquaggan Жыл бұрын
Wow, having the equivalence proofs just be superclass constraints (32:30) is a really neat idea, which I, for some reason, never thought of. I always end up writing functions that match on singletons and return `:~:` when I need to prove properties like that, which is obviously way more painful.
@centril
@centril 6 жыл бұрын
A truly awesome and detailed talk!
@shutterrecoil
@shutterrecoil Жыл бұрын
the most representative DT example is at 26:00
@tricky778
@tricky778 6 жыл бұрын
At 32:00, is this the same as saying that Repeat is a monad at the typeclass level? Is there any utility in casting the solution in that light? Does anyone know the paths that line of reasoning has taken people?
@mskiptr
@mskiptr 4 жыл бұрын
This talk is awesome! That `~` relation between types is not commutative, right? Like in 34:00, repeating ≥1 times is also ≥0, but we couldn't write it the other way around: `Repeat s` does not ~ `Merge s (Repeat s)`?
@АнимусАнанимус
@АнимусАнанимус 2 жыл бұрын
It is commutative.
@nilp0inter2
@nilp0inter2 5 жыл бұрын
Awesome talk!
"Haxl: A Big Hammer for Concurrency" by Simon Marlow
33:01
Strange Loop Conference
Рет қаралды 14 М.
"Hackett: a metaprogrammable Haskell" by Alexis King
33:40
Strange Loop Conference
Рет қаралды 12 М.
If people acted like cats 🙀😹 LeoNata family #shorts
00:22
LeoNata Family
Рет қаралды 46 МЛН
Richard Eisenberg on Dependent Types
48:28
NYC Haskell User's Group
Рет қаралды 4,3 М.
"A Little Taste of Dependent Types" by David Christiansen
38:36
Strange Loop Conference
Рет қаралды 39 М.
Haskell is Not For Production and Other Tales
38:19
Linux.conf.au 2016 -- Geelong, Australia
Рет қаралды 100 М.
"Proof Theory Impressionism: Blurring the Curry-Howard Line" by Dan Pittman
35:08
Strange Loop Conference
Рет қаралды 13 М.
"Point-Free or Die: Tacit Programming in Haskell and Beyond" by Amar Shah
36:13
Strange Loop Conference
Рет қаралды 29 М.