Go backward to Overloaded Operators Go up to Top Go forward to Polymorphic Parameterized Abstracts |
ML hd operator.
Exprval = (Nat + Exprval* + (Exprval × Exprval) +
(Exprval + Exprval) + (Exprval -> Exprval) +
Errvalue)_|_
E[[hd E]] = lambda e.
let x = E[[E]]e in
cases x of
isNat(n) -> inErrvalue()
[] isExprval*(l) -> hd l
[] ...
end