Select Git revision
-
Moritz Müller authoredMoritz Müller authored
lambda.hs 985 B
module Main where
data Lam
= ReplaceMe -- TODO
deriving (Show, Read)
-- [beta s t] führt die β-Reduktion des Redex [(λ. s) t] durch
beta :: Lam -> Lam -> Lam
beta s t = error "beta-Reduktion nicht implementiert!" -- TODO
-- [isNormal t] prüft, ob [t] eine Normalform ist
isNormal :: Lam -> Bool
isNormal = error "Normalform-Check nicht implementiert!" -- TODO
-- [evalNormal s] reduziert [s] mittels normaler Reduktion
evalNormal :: Lam -> Lam
evalNormal = error "Normale Reduktion nicht implementiert!" -- TODO
-- [evalApplicative s] reduziert [s] mittels applikativer Reduktion
evalApplicative :: Lam -> Lam
evalApplicative = error "Applikative Reduktion nicht implementiert!" -- TODO
main :: IO ()
main = interact (\s -> let n = evalNormal (read s)
a = evalApplicative (read s)
in n `seq` a `seq`
"normal: " ++ show n
++ "\napplicative: " ++ show a ++ "\n")