我递归地有这种类型:
data Expr = Add Expr Expr | Num Int
add (Add (Num a) (Num b)) = a + b
对于add Add ((Num 1) (Num 2))
作品,但我该如何处理所有递归类型,例如:
add Add( (Add (Num 1) (Num 2)) (Num 3) ) ?
我递归地有这种类型:
data Expr = Add Expr Expr | Num Int
add (Add (Num a) (Num b)) = a + b
对于add Add ((Num 1) (Num 2))
作品,但我该如何处理所有递归类型,例如:
add Add( (Add (Num 1) (Num 2)) (Num 3) ) ?