Special thanks to the Haskell Foundation for supporting the production of this video!
Haskell Love 2021 schedule: https://emamo.com/event/haskell-love
Haskell Love twitter: / _haskellove
The great thing about Clash is that it is just Haskell. In this talk, we explore why this is great, by showing a simple hardware circuit developed using high-level Haskell abstractions:
Separation of model and presentation * `State` with lenses for composable model updates * Type-directed and type-level programming
The result is idiomatic Haskell code that can be viewed in multiple ways:
We can compile it as software Haskell, yielding an interactive simulation, i.e. a playable Pong game.
We can compile it as hardware Haskell, yielding an FPGA configuration that can be hooked up to two pushbuttons and a VGA screen.