HackerTube

JSON Parser 100% From Scratch in Haskell (only 111 lines)

Tsoding3 HN recommenders · recommended in 3 months, 2020–2022
YouTube
tutorial · intermediate · evergreen · 2020–2022 on HN

Tsoding live-codes a JSON parser from scratch in Haskell in about 111 lines, using only the standard library. It is an edited Twitch stream that explains the intuition behind parser combinators, functors, applicatives and monads.

HN recommends it as a hands-on way to understand Haskell and parser combinators by watching a parser get built live.

4 comments from Hacker News

@ObiWanFrijoles2022-03 · in “What Is IO Monad? (2018) [video]”

Nice to see Tsoding on the front page. He has another great video that covers a bunch of topics while making a JSON parser with only the Haskell standard library: ▶ this video

Recommends View on HN
@ducaale2020-09 · in “List of YouTube channels for improving web development and programming skills”

I have recently discovered [tsoding twitch channel]( link ) which describes itself as Recreational programming. The topics range from webassembly and Game development to functional programming in haskell and ocaml. Some of the interesting random things I found there include: * [a parser combinator in haskell]( ▶ this video ) * [stack based language compiler in ocaml]( link ) You can find all the things that were done during the streams in link . You can also find his schedule at link

Recommends View on HN
@lubesGordi2020-07 · in “Basics of Haskell – Code and exercises”

Agreed! I've been trying to learn haskell for a long time, and this guy writes a json parser live, giving his intuition along the way. It's helped me immensely. ▶ this video

Recommends View on HN
@ducaale2020-08 · in “Inventing Monads”

To understand monads, I think it helps to know a language where expressing such a concept is more natural. Although I do not claim to know 100% what monads are yet, coming across these features made it easier for me to understand the concept a little bit. - Algebraic data types - OCaml's let expressions - F#'s computation expressions I also think that it is important to write something that naturally requires the use of monads. One thing that spring to mind is Parser Combinators. - link - ▶ this video