CS Puzzles
If your in to testing your computer science fu, checkout Project Euler. I'm only 10 problems in, but its a ton of fun.
{-# LANGUAGE GeneralizedNewtypeDeriving #-}
newtype Fahrenheit = Fahrenheit Float
deriving (Eq, Ord, Show, Num, Fractional)
newtype Celsius = Celsius Float
deriving (Eq, Ord, Show, Num, Fractional)
far2cel :: Fahrenheit -> Celsius
far2cel (Fahrenheit far) = Celsius $ (5 / 9) * (far - 32)
cel2far :: Celsius -> Fahrenheit
cel2far (Celsius cel) = Fahrenheit $ (cel * (9 / 5)) + 32