3 ms·
Subtyping can be closed, too (see Scala's sealed classes, for example) and algebraic data types can be open (see OCaml's extensible variants [1] or polymorphic
by rbehrends 9y ago
Subtyping can be closed, too (see Scala's sealed classes, for example) and algebraic data types can be open (see OCaml's extensible variants [1] or polymorphic variants [2]).
This is simply a distinction between closed and open sum types.
[1] https://caml.inria.fr/pub/docs/manual-ocaml/extn.html#s%3Aextensible-variants https://caml.inria.fr/pub/docs/manual-ocaml/extn.html#s%3Aex...
[2] http://caml.inria.fr/pub/docs/manual-ocaml-400/manual006.html#toc36 http://caml.inria.fr/pub/docs/manual-ocaml-400/manual006.htm...