OLABL (2307/ola001)

Logo for OLABL

for Objective Label

extended Objective Caml with open sum types, named and operational functional arguments.

Features subsumed into O'Caml 3


Structures:
Related languages
OCAML => OLABL   Extension of
Smalltalk => OLABL   Influence
OLABL => OCAML 3   Subsumed

Resources
  • 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.

    Labeled arguments

    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.external link
  • Logo for OLABL