×

ObjectCurry: an object-oriented extension of the declarative multi-paradigm language curry. (English) Zbl 0977.68869

Mohnen, Markus (ed.) et al., Implementation of functional languages. 12th international workshop, IFL 2000, Aachen, Germany, September 4-7, 2000. Selected papers. Berlin: Springer. Lect. Notes Comput. Sci. 2011, 89-106 (2001).
Curry combines the concepts of functional, logic and concurrent programming languages. Concurrent programming with ports allows the modeling of objects in Curry similar to object-oriented programming languages. In this paper, we present ObjectCurry, a conservative extension of Curry. ObjectCurry allows the direct definition of templates which play the role of classes in conventional object-oriented languages. Objects are instances of a template. An object owns a state and reacts when it receives a message-usually by sending messages to other objects or a transformation of its state. ObjectCurry also provides inheritance between templates. Furthermore, we show how programs can be translated from ObjectCurry into Curry by exploiting the concurrency and distribution features of Curry. To implement inheritance, we extend the type system of Curry, which is based on parametric polymorphism, to include subtyping for objects and messages.
For the entire collection see [Zbl 0977.68824].

MSC:

68U99 Computing methodologies and applications
68N18 Functional programming and lambda calculus
68N15 Theory of programming languages

Software:

OCaml; ObjectCurry; Oz; Curry
PDFBibTeX XMLCite
Full Text: Link