これが私のADTです:
data Ex a = I Integer --integer
| Add (Ex a) (Ex a) --add
| Variable a --variable
| Def [(a, Ex a)] (Ex a) --defining local variables
そして、これが私の評価関数です:
eval :: Ex a -> Integer
eval (I n) = n
eval (Add e1 e2) = eval e1 + eval e2
どうすれば続行できますeval
か?Variable
Def