Physical units/CalDims

From HaskellWiki
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

The motivation for writing CalDims was to have an easy to use calculation tool that has support for units.

The calculator's features

  • Support for user defined basic units and derrived units
  • user defined functions
  • work sheets can be modified/saved via shell
  • (1/3)*3 == 1 (No rounding errors)
  • built-in feature to simplify units
  • easy unit-conversion

Example session

> # A bird is moving 1 meter per second, how far will it be in 2 hours?
> 1m/s * 2h | m
7200 m
> # A 60 Watt electric light is burning 2 hours a day. How much energy is consumed in one week?
> 60 W * 2 h / d * 7 d | J
3024000 J
> # What's that in Watt hours?
> 60 W * 2 h / d * 7 d | W h
840 W h
> #How much is it in a year (we derrive `year` first)
> year := 265 d
ok.
> 60 W * 2 h / d * 1 year | W h
31799.999999999996 W h
> # Bits and bytes are not defined. We do so:
> \u bit
ok, but an object has changed
> byte := 8 bit
ok, but an object has changed
> kbyte := 1024 byte
ok.
> mbyte := 1024 kbyte
ok.
> 2 mbyte | -
16777216 bit
> 2 mbyte | kbyte
2048 kbyte

Sources

darcs http://tel.netbeisser.de/darcs/CalDims

darcs http://tel.netbeisser.de/darcs/CalDimsApps