Functional Programming Strategies

Subscribe
Archives
October 9, 2023

Scala with Cats: 30 Pages of Algebraic Data Types!

Hi!

I've just finished a little over 30 pages on algebraic data types, structural recursion, structural corecursion, algebra of algebraic data types, and … well, that's enough jargon. If that excites you, go read the chapter on algebraic data types in the latest draft of Scala with Cats

If you have time to read through the chapter do let me know if you have any feedback. Github issues are a great way to report typos and the like. For general comments please feel free to drop me an email.

Next up: combinator libraries and reified / initial / deep embedding interpreters!

It's good to be back working on the book. I took a bit of a break over August and September for holidays, to prepare for Scala Days in Madrid, and to work on restarting ScalaBridge London.

Scala Days was excellent. It was great to see old friends and make some new ones. The karaoke sessions were legendary. (It helps to have a professional musician on the mic!) I gave a talk about designing code for ease of use, which is something I don't think we pay enough attention to in the Scala world. This material may end up as a chapter in Scala with Cats; stay tuned.

ScalaBridge London is off to a good start. We have online attendees from all over Europe, which is fantastic. We'll have our first in person session soon, which I think will be really helpful for the Londoners. Developing material has been a lot of fun. We're looking to create a local-first scavenger hunt web application, and I'm working on some data science content. It's really interesting to see the modern computational / randomization approach to teaching introductory data science and statistics. It's much more accessible and relatable in my programmer mind than the cookbook approach I was taught back in the day.

As always, a huge thanks for showing interest in the book, and a doubly huge thanks to my sponsors whose financial support lets me take time away from paying work to do this.

Regards,
Noel

Don't miss what's next. Subscribe to Functional Programming Strategies:
Powered by Buttondown, the easiest way to start and grow your newsletter.