Euclid is a calculator and so much more. One of its unique features is that it preserves numbers in their natural state, rather than forcing everything into decimal form. For example, it remembers that 1/3 is 1/3, not 0.33333... Thus, (1/3) * 3 = 1, as it should (try this on most digital calculators and you're bound to get the incorrect 0.99999...
Euclid also supports matrix operations and sets.
What's new in Euclid
added r1, r2, etc. variables, for history of results
added prefs dialog with precision remembered
added solver for simple linear polynomials: solve(5 * x + 4)
ignore comments in scripts (lines starting with #)