1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
|
> Let5>> run expr "4 * (7 + 1) - 1" :: IO Expr
> Bin (Bin (Const 4) Times (Bin (Const 7) Plus (Const 1))) Minus (Const 1)
> Let5>> run expr "let\n a = 4 * (7 + 1) - 1\n in a * a" :: IO Expr
> Let ("a" :=: Bin (Bin (Const 4) Times (Bin (Const 7) Plus (Const 1))) Minus (Const 1)) (Bin (Var "a") Times (Var "a"))
> Let5>> run expr "let\n a = 4 * [7 + 1 - 1)\n in a * a" :: IO Expr
>
> 'Program error: user error ('
> '*** lexical error at (line 2, column 13):'
> ' a = 4 * [7 + 1 - 1)'
> ' ^'
> ' in a * a'
> '<end of input>'
> ')'
> Let5>> run expr "let\n a = 4 * (7 + 1 - 1\n in a * a" :: IO Expr
>
> 'Program error: user error ('
> '*** syntax error at (line 3, column 3):'
> ' in a * a'
> ' ^'
> '<end of input>'
> ')'
|