ML
Size: a a a
ML
AZ
<T, A, B, H>G
<T, A, B, H><T, A, B, H>?AZ
<T, A, B, H>?AZ
AZ
AZ
G
ML
<T, A, B, H>?ML
AZ
data Expr = I Int -- integer constants
| Add Expr Expr -- add two expressions
| Mul Expr Expr -- multiply two expressionsenum Expr {
I(i32),
Add(Box<Expr>, Box<Expr>),
Mul(Box<Expr>, Box<Expr>)
}AZ
AZ
data Expr - имя энумаAZ
AZ
AZ
A
A