## root-object.api
# Compiled by:
#
src/lib/std/standard.lib# Root_Object / roob_object are adapted from Bernard Berthomieu's
# "OOP Programming Styles in ML" Appendix 2.3.2 where
# they are called ROOT/Root:
#
api Root_Object {
Self(X);
Myself = Self( oop::Oop_Null );
get__substate: Self(X) -> X;
unpack__object: Self(X) -> (X -> Self(X), X);
pack__object: Void -> X -> Self(X);
new: Void -> Myself;
};