amazonka Haskell libraries might not work out of the box

The amazonka family of libraries (along with the gogol family of libraries) are an awesome piece of engineering, and a phenomenal contribution to the Haskell community by Brendan Hay. Unfortunately they are falling behind the APIs of Amazon (or Google).

For example, earlier when we were using serverless-haskell, we were forced to upgrade from the node-8.x runtime of AWS Lambda (which was depricated) to node-10.x. However, there is no NODEJS10_x constructor in the Runtime sum-type exposed by amazonka-lambda-1.6.1 (the latest version at the time of writing this document). So, even serverless-haskell was helpless as it internally depends on this library itself!

Similarly, when we wanted to move to a custom runtime, we were hit by the same problem again. The runtime is called “provided” in AWS parlance, and is missing from the same Runtime sum-type.

Fortunately, we were not the only ones facing this issue and there was PR #543 (unmerged at the time of writing this), which solved this problem for us. We had to create an unofficial fork of the library, which is what is deployed in production today.

Aside: In my opinion, amazonka and gogol are “foundational” libraries and should have some sort of funding associated to ensure continued development and maintenance.