module Prelude where
data Bool = False | True
data Int
data Maybe a = Nothing | Just a
data (,) a b = (,) a b
not False = True
not True = False
data [] a = [] | a : [a]
map f [] = []
map f (x:xs) = f x:map f xs
null = f
where
f [] = True
f _ = False
t = null []
f = not t
{-
data P = P { x,y::Int }
origin P{x=0,y=0} = True
origin _ = False
-}
class Functor f where
fmap :: (a->b) -> f a -> f b
instance Functor [] where fmap = map
ys = fmap id []
(id,const) = (\x->x,\x y->x)
error s = undefined
undefined | False = undefined