lolli(ID:4029/lol004)(named for the "lollipop" operator "-o") Lolli is an interpreter for logic programming based on intuitionist linear logic principles. Based on linear logic, in which clauses can be used exactly once. All the operators of lambda- Prolog plus linear variations. Implemented in SML/NJ. Related languages
References: in Proceedings of the 1992 Joint International Conference and Symposium on Logic Programming view details Lolli is an interpreter for logic programming based on intuitionist linear logic principles. Lolli, named for the linear logic implication operator "-o" called lollipop, is a full implementation of the language described in the Hodas & Miller paper "Logic Programming in a Fragment of Intuitionistic Linear Logic", though it differs a bit in syntax, and has several built-in extra-logical predicates and operators. The logic underlying Lolli can be viewed as a refinement of the the Hereditary Harrop formulas of Lambda-Prolog. All the operators (though not the higher order unification) of Lambda-Prolog are supported, but with the addition of linear variations. Thus a Lolli program distinguishes between clauses that can be used as many, or as few, times as desired, and those that must be used exactly once. These features have been used to provide a perspicuous, logical implementation of a number of example problems, including object-oriented programming with mutable state and information hiding, database update, and term rewriting. Lolli has also been used as the setting for the development of a filler-gap dependency parser for natural language processing (see Hodas's JICSLP-92 paper). The preliminary implementation of Lolli is based on code written by Pfenning and Elliot for their paper "A Semi-Functional Implementation of a Higher-Order Logic Programming Language". The system is written in Standard ML of New Jersey, and the parser and lexer were built using the parser-generator (MLYACC) and lexical-analyzer-generator (MLLEX) distributed with that system. Though source files for the parser and lexer have been included, the parser and lexer have already been built, so you do not need access to the MLYACC or MLLEX. in Workshop on the Lambda Prolog Programming Language view details in Proceedings of the 1992 Workshop on the Prolog Programming Language, Philadelphia, Summer 1992. Dale Miller, ed. view details in Peter Lee, editor, "Topics in Advanced Language Implementation", MIT Press, 1993 view details in Information and Computation, 110(2) May 1, 1994 view details in Information and Computation, 110(2) May 1, 1994 view details in Information and Computation, 110(2) May 1, 1994 view details Resources
|