【激突】関数型言語 VS オブジェクト指向言語
■ このスレッドは過去ログ倉庫に格納されています
0205デフォルトの名無しさん
2012/03/18(日) 14:00:39.82data Expr a =
TRUE
| FALSE
| And (Expr a) (Expr a)
| Or (Expr a) (Expr a)
| Not (Expr a)
| Base a
eval :: (t -> Bool) -> Expr t -> Bool
eval evalBase expr =
case expr of
TRUE -> True
FALSE -> False
Base base -> evalBase base
And x y -> eval' x && eval' y
Or x y -> eval' x || eval' y
Not x -> not $ eval' x
where eval' = eval evalBase
■ このスレッドは過去ログ倉庫に格納されています