Physical units/CalDims

From HaskellWiki
Jump to navigation Jump to search

CalDims is a flexible and 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
  • 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 := 365 d
ok.
> 60 W * 2 h / d * 1 year | W h
43799.99999999999 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

Sources are availables at HackageDB: http://hackage.haskell.org/cgi-bin/hackage-scripts/package/caldims