add first example
This commit is contained in:
commit
4c67abac0b
1 changed files with 17 additions and 0 deletions
17
infiniteArithmetic.fr
Normal file
17
infiniteArithmetic.fr
Normal file
|
|
@ -0,0 +1,17 @@
|
|||
data Expr
|
||||
= Val Int
|
||||
| Add Expr Expr
|
||||
| Mul Expr Expr
|
||||
|
||||
eval :: Expr -> Int
|
||||
eval (Val n) = n
|
||||
eval (Add a b) = eval a + eval b
|
||||
eval (Mul a b) = eval a * eval b
|
||||
|
||||
exprs :: [Expr]
|
||||
exprs = map Val [0..] ++
|
||||
[ Add a b | a <- exprs, b <- exprs ] ++
|
||||
[ Mul a b | a <- exprs, b <- exprs ]
|
||||
|
||||
main :: IO ()
|
||||
main = print (take 10 (map eval exprs))
|
||||
Loading…
Reference in a new issue