LAURE(ID:1637/lau002)A language for knowledge representation combining object orientation and logic programming. Set operations. Object-oriented exception handling and a polymorphic type system. Places Structures: Related languages
References: in Proc TOOLS 5, Santa Barbara 1991, P-H view details of purely Horn clauses. An equivalent relational algebra is given, from which a formal technique for performing positive updates, called differentiation, is obtained. Two algorithms are proposed that achieve a sound and complete resolution, either for a bottom-up evaluation or a top-down resolution. An efficient implementation of constraint resolution is presented in this framework. External link: Online at citeseer in Annals of Mathematics and Artificial Intelligence 3(2-4) 1991 view details in Annals of Mathematics and Artificial Intelligence 3(2-4) 1991 view details in Workshop on Object-Oriented Programming Languages: the Next Generation view details in Workshop on Object-Oriented Programming Languages: the Next Generation view details in Workshop on Object-Oriented Programming Languages: the Next Generation view details currently used in most object-oriented languages. We define polymethods as methods that we can attach directly to types, as opposed to classes and that we can describe with a second-order type. Two benefits result from this extension; first, the expressive power of the language is improved with better modeling abilities. Next, second-order types yield a more powerful (precise) type inference, which extends the range of static type checking in a truly extensible object-oriented language. We first show that extensible object-oriented languages present many difficulties for static type-checking and that second-order types are necessary to get stronger type-checking. We illustrate how to combine polymethods through type inheritance and propose a technique based on abstract interpretation to derive a second-order type for new polymethods. External link: Online copy in [ECOOP] ECOOP '93 Conference Proceedings, Kaiserslautern, Germany, July, 1993 view details in [ECOOP] ECOOP '93 Conference Proceedings, Kaiserslautern, Germany, July, 1993 view details |