FRP with Events and Behaviors - Part 1

Video link Slides and code

This is part of a series I’m doing focused on the event-and-behavior flavour of FRP.

There hasn’t been a lot written about how to use FRP effectively - the FRP book by Blackheath and Jones is fantastic, but only came out recently.

The examples in that book are all in Java - which is great, because it means that you can deploy these tools in a lot of mainstream languages via the sodium library. Still, I wanted to put something together using Haskell.

Part 1 focuses on the basics, and deals with the reactive-banana library throughout. There’s definitely more to say about the library, but hopefully it’s enough to get people started.

Later parts will look at the evolution of a proper chat server written with FRP, and will focus on reflex and reflex-dom.

Little Languages

Video link Slides and code

I’ve been playing around with domain specific languages (DSLs), programming langauge theory (PLT), and some ideas around creating modular, testable tools in that area for a while, and I turned it into a YOW Lambda Jam talk recently.

I’ve put supporting materials online, including a series of blog posts.

Unravelling `bound`

I gave a talk on the bound library, which ended up going into lambda calculus as well. It had some people scratching their heads, but hopefully in a good way.

The video is currently stuck in limbo, and I should probably track down the associated code and slides and put them in a repository somewhere.

A shorter, sharper version of this was embedded into the end of the “Little Languages” talk I did at YOW! Lambda Jam in 2016.

Cofun with Cofree Comonads

Video link Slides and code

I’ve been poking and experimenting with how cofree comonads interact with free monads for a while now.

There are still a lot of things I want to play with in this space, but this provide enough information to get people started.

I’ve put supporting materials online.

FP with the Stars 2014

I had the priviledge of being the moderator for this event.

Both the YOW organisers and the YOW speakers are always massively busy, so we’re incredibly grateful to them for clearing enough time to make this even happen.

QuickCheck - Beyond the Basics

Video link Slides and code

I’m a huge fan of QuickCheck, but for a long time I struggled with the Monadic QuickCheck paper.

This talk was the result of me working through the paper and getting excited.

Free Monads are good for you

Video link Slides and code

I really like free monads, so I thought I should talk about them.

There were some rough edges, but I think otherwise it was alright.

CIS194 Lecture 1 - Introduction to Haskell

Video link Slides and code

This kicked off the BFPG lecture series covering Brent Yorgey’s version of CIS194.

Huge thanks to Brent and to UPenn for creating the course and allowing the world to access it. It’s awesome.

Laws for Folds and Theorems for Free

Video link Slides and code

The first half of this is heavily inspired by “Introduction to FP using Haskell” by Richard Bird.

The second half is inspired by Philip Wadler’s “Theorems for Free”, but I didn’t have time to practice the exposition enough to do it justice.

Laws and Equations and Coq! Oh, My!

Video link Slides and code

This was my first talk at BFPG.

It was a lot of fun, but formatting the slides was a royal pain.

Site proudly generated by Hakyll