No video

@rae: How to choose between Typeable, Data, and Generic in Haskell

  Рет қаралды 3,160

Tweag

Tweag

Күн бұрын

I review GHC's three mechanism for type-aware programming -- Typeable, Data, and Generic -- covering what they do and how to choose between them.
Find me at richarde.dev/ or on Twitter at @RaeHaskell
Video index at richarde.dev/v...

Пікірлер: 11
@charliebevis6310
@charliebevis6310 2 жыл бұрын
I've looked at scrap your boilerplate countless times, but this `everywhere` example was so painless! Thank you Richard Eisenberg!
@tiziano88
@tiziano88 Жыл бұрын
Thanks, this was the best video on the topic that I could find, very useful and to the point, with enough pointers to look deeper into specific aspects for anyone interested
@tweag
@tweag Жыл бұрын
Glad it was helpful!
@holdenmcgroin8917
@holdenmcgroin8917 2 жыл бұрын
Very useful! I'm always confused about these seemingly similar concepts. The explanations are so clear!
@raehik
@raehik 2 жыл бұрын
Thanks for this video. Generic programming *terrified* me until I had a go and wrote some generic binary codecs (a la Aeson but for binary data). Made me a lot more comfortable with all the type level features of Haskell, and removed my fear of UndecidableInstances. The sort of high level algebra you're forced into feels like the real meat of Haskell, stuff you can't do in other languages (at least not with the same safety guarantees). When the code you're writing is directed by the structure of the type(s) involved, you can likely exploit Generic.
@RubenMoor
@RubenMoor Жыл бұрын
Ok, I tried out `eqTypeRep` and `==`. The simple == doesn't work for this example, but it might be OK in other cases. Using `eqTypeRep`, the type equality becomes visible to the compiler. Using the Eq instance of `TypeRep` implies that the type equivalence isn't available at compile-time, only at runtime and thus I can't use the fact that x is an `Int` later in the code.
@saeidakbari4788
@saeidakbari4788 11 ай бұрын
Excellent! BTW, what is the VS Code extension you're using that gives you GHCi access inside the editor? I really need this kind of REPL :)
@yooviyo
@yooviyo 2 жыл бұрын
Amazing, thank you! You've gained a new subscriber.
@tweag
@tweag Жыл бұрын
Thanks and welcome
@jackkensik7002
@jackkensik7002 2 жыл бұрын
awesome video keep it up!
@mooncop
@mooncop 2 жыл бұрын
👏
Higher-order Type-level Programming in Haskell
21:28
ACM SIGPLAN
Рет қаралды 3,6 М.
The Biggest Issues I've Faced Web Scraping (and how to fix them)
15:03
Blue Food VS Red Food Emoji Mukbang
00:33
MOOMOO STUDIO [무무 스튜디오]
Рет қаралды 13 МЛН
А ВЫ УМЕЕТЕ ПЛАВАТЬ?? #shorts
00:21
Паша Осадчий
Рет қаралды 1,5 МЛН
Can This Bubble Save My Life? 😱
00:55
Topper Guild
Рет қаралды 85 МЛН
The Most Legendary Programmers Of All Time
11:49
Aaron Jack
Рет қаралды 551 М.
"Point-Free or Die: Tacit Programming in Haskell and Beyond" by Amar Shah
36:13
Strange Loop Conference
Рет қаралды 28 М.
Gabriella Gonzalez on "Monad transformers are good, actually" @ZuriHac2023
1:06:59
OST – Ostschweizer Fachhochschule
Рет қаралды 3,8 М.
I've been using Redis wrong this whole time...
20:53
Dreams of Code
Рет қаралды 354 М.
Debunking Haskell Myth: “Tooling Issue”
9:37
Impure Pics
Рет қаралды 3,5 М.
Programming in Haskell -- an application monad for servant
1:01:59
John Cinnamond
Рет қаралды 117
Why I Don't Code in Haskell Anymore?
1:56
Tsoding Daily
Рет қаралды 120 М.
Arenas, strings and Scuffed Templates in C
12:28
VoxelRifts
Рет қаралды 83 М.
Blue Food VS Red Food Emoji Mukbang
00:33
MOOMOO STUDIO [무무 스튜디오]
Рет қаралды 13 МЛН