Practical unit-of-measure calculator DSL for Clojure / ClojureScript
Clojure HTML Other
Latest commit e588c8e Jun 11, 2015 @martintrojer link to live demo


Frinj is a practical unit-of-measure calculator DSL for Clojure / ClojureScript.

Key features;

  • Tracks units of measure through all calculations allowing you to mix units of measure transparently
  • Comes with a huge database of units and conversion factors
  • Supports live unit feeds like currency conversion
  • Inspired by the Frink project (
  • Tries to combine Frink's fluent calculation style with idiomatic Clojure
  • Supports infix calculation style


Add the following line into your Leiningen :dependencies [frinj "0.2.5"].


user=> (use 'frinj.repl)
user=> (frinj-init!)
user=> (override-operators!)
user=> (fj 2000 :Calories :per :day :to :watts)
;; "1163/12 (approx. 96.91666666666667) [dimensionless]"


There are a few differences when running Frinj on Node / in a browser. See this wiki page for details.

Browser demo

Visit the browser demo here

To generate the browser demo, run lein cljsbuild once. Then start a web server in the browser-example directory, and visit it. You should see the examples page.

For example;

$ cd browser-demo
$ python -m SimpleHTTPServer

then visit http://localhost:8000 in a browser and click on the demo.html file.


Finally, check out the wiki from more info.


Copyright (C) 2013 Martin Trojer

Distributed under the Eclipse Public License, the same as Clojure.