Language peer sets for OLABL:
Designed 1995 ↑
1990s languages ↑
alternate simple view
for Objective Label
extended Objective Caml with open sum types, named and operational functional arguments.
Features subsumed into O'Caml 3
OLABL page at Kyoto
Introduction to O'Labl
Objective Label extends Objective Caml in 3 ways.
- Labeled arguments
- Optional parameters
- Polymorphic variants
- Polymorphic methods
All these features are sound with respect to type checking, and integrate smoothly with other parts of O'Caml, like objects and classes.
Many languages, like Ada, Common Lisp, or SmallTalk already offer such a kind of feature. It is intended to enhance readability of programs.
However, except for Smalltalk, it seems that this possibility is not used very much in actual programming. Since in Ada and Common Lisp use of these labels in function calls is facultatory, programmers will most often ommit them.
Reflecting their success in the SmallTalk community, labels in O'Labl are SmallTalk style, with the possibility of providing different call patterns through optional parameters. Moreover they can be combined with Currying to allow out-of-order partial applications.