Dateien auf meinem Uni-Ordner, von denen ich weiß, das ich sie geschrieben habe, aber nicht mehr, was sie bedeuten :`(
monad.hs :
data Term = Con Int | Div Term Term deriving Show
type M a = a
unit :: a -> a
unit a = a(> (a -> M b) -> M b
a > M Int
eval (Con a) = unit a
eval (Div t u) = eval t > eval u > unit (a `quot` b)