An abstract illustration of currencies and Bankster configuration

Money is one of those areas where small omissions can generate technical debt faster than almost any other slice of an application domain. Not because “finance is hard,” but because average code likes to pretend it’s simple. Bankster is an attempt to do this thing properly.

References Are Good


Graphic showing a fragment of the Swiss Tech Convention Center shaped like an arrowhead

Last night I received an e-mail in which one of my visitors asked me a few questions after reading the post about parsing phone numbers in Clojure. The question was seemingly simple and concerned a technical detail of software construction, but in reality the reader touched on a very important subject that I had been pondering years ago, and I decided to summarise it here.

Read Me Clojure, Pt.  5


Type Systems


Image

Data types allow us to classify values according to various characteristics and to establish relations between the resulting classes. This helps the programmer define operations performed on data of different kinds, and it helps language mechanisms manage memory and detect certain kinds of errors. In Clojure, we deal with several interrelated type systems that we can extend, and by leveraging their polymorphic mechanisms, we are able to abstract data management and build unified information exchange interfaces.