Samir Talwar - Smoke:rewriting a Ruby project in Haskell for fun and type safety

Public group

Online event

This event has passed


Writing a test framework is so much fun I did it twice.

The first time, I punched something out as quickly as possible in Ruby. It took a few hours and did the job. But then the job got larger. Eventually, implementing one feature would break something else. (Fortunately, I usually caught it, because, well, I had tests.) This was supposed to be fun, so I needed to find a way to return to quick delivery.

After a while of tinkering, I settled on Haskell to implement the framework. It was an odd choice—it’s mostly I/O and exceptions—but the language really helped me work incrementally, with a very tight safety net.

I’d like to show you some of the lessons I learned in porting the project from Ruby to Haskell, the upsides, and the downsides too. We’ll explore the trade-offs together, and hopefully this will be useful to you in deciding how to implement your next side project.


This will be an online event. We will be using Zoom for video conference and Slack for chat. The video will be recorded and uploaded to YouTube after the event.

Please join the ZuriHac Slack workspace using the following link and then join the #meetup channel.

Please join the video conference using the following link.
Meeting ID:[masked]