mirror of
https://github.com/correl/elm.git
synced 2024-12-20 03:20:17 +00:00
29 lines
622 B
Text
29 lines
622 B
Text
|
module SpaceAgeExample where
|
||
|
|
||
|
type Planet = Mercury
|
||
|
| Venus
|
||
|
| Earth
|
||
|
| Mars
|
||
|
| Jupiter
|
||
|
| Saturn
|
||
|
| Uranus
|
||
|
| Neptune
|
||
|
|
||
|
|
||
|
earthYearInSeconds = 365.25 * 24 * 60 * 60
|
||
|
|
||
|
ageOn : Planet -> Float -> Float
|
||
|
ageOn planet seconds = seconds / (secondsPerYear planet)
|
||
|
|
||
|
secondsPerYear : Planet -> Float
|
||
|
secondsPerYear planet =
|
||
|
earthYearInSeconds * case planet of
|
||
|
Mercury -> 0.2408467
|
||
|
Venus -> 0.61519726
|
||
|
Earth -> 1
|
||
|
Mars -> 1.8808158
|
||
|
Jupiter -> 11.862615
|
||
|
Saturn -> 29.447498
|
||
|
Uranus -> 84.016846
|
||
|
Neptune -> 164.79132
|