module Main where
main = print (subset "abcd")
subset :: [Char] -> [[Char]]
subset [] = [[]]
subset (x:xs) = subset(xs) ++ [x:l | l <- subset(xs)]
Friday, May 12, 2006
Wednesday, May 10, 2006
Here is a toy evaluator of integer expressions:
module Main where
data Expr = Const Int | Add Expr Expr | Sub Expr Expr | Mul Expr Expr | Div Expr Expr
main = print (eval (Div (Const 20) (Add (Const 1) (Sub (Const 10) (Const 2)))))
eval :: Expr -> Int
eval (Const k) = k
eval (Add x y) = eval x + eval y
eval (Sub x y) = eval x - eval y
eval (Mul x y) = eval x * eval y
eval (Div x y) = eval x `div` eval y
Tuesday, May 09, 2006
Subscribe to:
Posts (Atom)