It only seems to have been mentioned a couple of times in passing, but Alan Eliasen's http://futureboy.us/frinkdocs/" [Broken] and constants (converting to SI internally then back to any desired target units. User-defined units may be added, too.) Very good time and calandar functions, with astronomical functions and units, leap seconds (or not, if you prefer). It uses arbitrary-precision math or rational numbers when possible. It has advanced interval arithmetic to keep track of error bounds, if desired. Complex math. Arbitrarily-dimensional, non-rectangular, heterogeneous arrays (but not matrix math, only a little symbolic algebra, no calculus to speak of.) It runs on anything with a JVM. It installs with just a couple of clicks on regular computers of any OS as well as smartphones, or it can be used via a web interface. It has been under development for several years and still gets multiple updates nearly every week, so it has reached a good state of refinement. It can act as an interactive desk calculator with a terminal-window like interface and command and results history, or as a serious programming tool with GUI, graphics, self-evaluation, anonymous functions, regexp, some OOP, Java introspection etc., etc. Many other features that are often useful but not explicitly physics-oriented are also built-in, such as working with currency conversions, historical inflation-adjusted values of the dollar and the the GB pound, natural language translations, number theory functions, arithmetic in bases up to 36. One tip: while it has a very predictable order of operations, it isn't always what you meant. Use parentheses to keep units and numbers together in a denominator, or parts of fractions together in exponents. I have pasted in the list of features from the introduction on the http://futureboy.us/frinkdocs/" [Broken] - I never knew there were so many weird ones! (What do you measure in sturgeons? in crocodiles? Read and find out.) Some of them have amusing comments -he's scathing about the candela.