Programming Patterns for Logtalk Parametric Objects
This paper presents a survey of programming patterns for Logtalk parametric objects. A parametric object is an object whose identifier is a compound term containing logical variables. These variables play the role of object parameters. Object predicates can be coded to depend on the parameter values. Parametric objects are a common feature of some other object-oriented logic programming languages and Prolog object-oriented extensions. Logtalk extends the usefulness of parametric objects by introducing the concept of object proxies. An object proxy is a compound term that can be interpreted as a possible instantiation of the identifier of a parametric object. Object proxies, when represented as predicate facts, allow application memory footprint to be minimized while still taking full advantage of Logtalk object-oriented features for representing and reasoning with taxonomic knowledge.
Keywordslogic programming programming patterns parametric objects object proxies
Unable to display preview. Download preview PDF.
- 1.Moura, P.: Logtalk 2.6 Documentation. Technical Report DMI 2000/1, University of Beira Interior, Portugal (July 2000)Google Scholar
- 2.Moura, P.: Logtalk - Design of an Object-Oriented Logic Programming Language. PhD thesis, Department of Computer Science, University of Beira Interior, Portugal (September 2003)Google Scholar
- 3.Moura, P.: Logtalk 2.39.0 User and Reference Manuals (February 2010)Google Scholar
- 4.Swedish Institute for Computer Science: SICStus Prolog 4.0 User Manual (April 2009)Google Scholar
- 7.Igler, M., Joblonski, S.: ESProNa – Engine for Semantic Process Navigation (2009), http://www.ai4.uni-bayreuth.de/
- 8.Fromherz, M.: OL(P): Object Layer for Prolog (1993), ftp://parcftp.xerox.com/ftp/pub/ol/
- 9.Kino, N.: Logical assignment of Prolog terms (2005), http://www.kprolog.com/en/logical_assignment/
- 11.Moura, P., Dias, A.M.: L-FLAT: Logtalk Toolkit for Formal Languages and Automata (2009), http://code.google.com/p/lflat/
- 12.Wermelinger, M., Dias, A.M.: A Prolog Toolkit for Formal Languages and Automata. In: ITiCSE 2005: Proceedings of the 10th Annual SIGCSE Conference on Innovation and Technology in Computer Science Education, pp. 330–334. ACM, New York (2005)Google Scholar
- 13.Monteiro, L., Porto, A.: A language for contextual logic programming. In: Logic Programming Languages: Constraints, Functions, and Objects, pp. 115–147. MIT Press, Cambridge (1993)Google Scholar