TypeFamilies - class Key k

Run Settings
LanguageHaskell
Language Version
Run Command
{-# LANGUAGE TypeFamilies #-} class Key k where data Map k :: * -> * empty :: Map k v lookup :: k -> Map k v -> Maybe v instance Key Bool where data Map Bool v = MapBool (Maybe v) (Maybe v) empty = MapBool Nothing Nothing lookup True (MapBool _ t) = t lookup False (MapBool f _) = f main = putStrLn "Hello World!"
Editor Settings
Theme
Key bindings
Full width
Lines