I am working on a unit-aware arithmetic library for swi-prolog (1) modeled after the c++ mp-units library (2). Turns out prolog is really well suited for this because:
* of its ability to store unit system data as code
* unit conversion is an iterative deepening depth first search
* manipulating symbolic arithmetic is so easy
Unfortunately, it requires users to compile swi-prolog for source because the library is using some unreleased features. If anyone would like to test and report some feedback, I would be truly grateful !