Frinj is a practical unit-of-measure calculator DSL for Clojure / ClojureScript.
- 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 (http://futureboy.us/frinkdocs/)
- Tries to combine Frink's fluent calculation style with idiomatic Clojure
- Supports infix calculation style
Add the following line into your Leiningen :dependencies
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.
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.
$ cd browser-demo $ python -m SimpleHTTPServer
http://localhost:8000 in a browser and click on the
See example calculations for ideas...
Examples using infix calcuation style here
Live units for currencies, precious metals etc, some examples
Finally, check out the wiki from more info.
Copyright (C) 2013 Martin Trojer
Distributed under the Eclipse Public License, the same as Clojure.