Paul Chiusano

Functional programming, UX, tech, econ


Consulting services

I offer Scala and FP consulting services. If you're interested in working together, please contact me.

About my book

My book, Functional Programming in Scala, uses Scala as a vehicle for teaching FP. Read what people are saying about it.

Popular links

Unison: a next-gen programming platform the worldwide elastic computer (coming soon)
Type systems and UX: an example
CSS is unnecessary

The advantages of static typing, simply stated

This post summarizes the advantages (and drawbacks) to static typing, as simply as possible. None of these arguments are new or my own, but I wanted to consolidate them in one place.


Needlessly confusing names

Names and the little details of an API matter. I’m going to pick on one small example I came across recently. In unagi-chan, a very fast lock-free queue implementation, we have the following API:


What are you actually going to do about it?

There are lots of things that could be improved about the world, and many things to be unhappy about. You’ve probably got a long list of such things, like everyone else. Now, what are you going to do about them? No, really, what are you going to actually do?


Upcoming release of FS2 (formerly scalaz-stream)

FS2: Functional Streams for Scala is nearing the 0.9 release finally, and the first 0.9 milestone release came out this week!


Design for experts; accomodate beginners

Technologists like to think about tools from the persepective of technical merits (“Lisp is better than C—it can do XYZ and C can’t!”). Lots of arguments take place at this level. Here, I want to consider another perspective. Let’s think of new technology like we would a new species entering an ecosystem. From this perspective, what matters is whether the species has attributes that allow it to survive and propagate itself. For new “technology species”, surviving means attracting and retaining development resources (people, money, time, etc), and propagating means increasing adoption.