Abstract

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.

Keywords

logic programming programming patterns parametric objects object proxies 

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Moura, P.: Logtalk 2.6 Documentation. Technical Report DMI 2000/1, University of Beira Interior, Portugal (July 2000)Google Scholar
  2. 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. 3.
    Moura, P.: Logtalk 2.39.0 User and Reference Manuals (February 2010)Google Scholar
  4. 4.
    Swedish Institute for Computer Science: SICStus Prolog 4.0 User Manual (April 2009)Google Scholar
  5. 5.
    Clocksin, W.F., Mellish, C.S.: Programming in Prolog. Springer, New York (1987)CrossRefMATHGoogle Scholar
  6. 6.
    McCabe, F.G.: Logic and Objects. Computer Science. Prentice Hall, Englewood Cliffs (1992)MATHGoogle Scholar
  7. 7.
    Igler, M., Joblonski, S.: ESProNa – Engine for Semantic Process Navigation (2009), http://www.ai4.uni-bayreuth.de/
  8. 8.
    Fromherz, M.: OL(P): Object Layer for Prolog (1993), ftp://parcftp.xerox.com/ftp/pub/ol/
  9. 9.
    Kino, N.: Logical assignment of Prolog terms (2005), http://www.kprolog.com/en/logical_assignment/
  10. 10.
    Moura, P., Marchetti, V.: Logtalk Processing of STEP Part 21 Files. In: Etalle, S., Truszczyński, M. (eds.) ICLP 2006. LNCS, vol. 4079, pp. 453–454. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  11. 11.
    Moura, P., Dias, A.M.: L-FLAT: Logtalk Toolkit for Formal Languages and Automata (2009), http://code.google.com/p/lflat/
  12. 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. 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
  14. 14.
    Abreu, S., Diaz, D.: Objective: In minimum context. In: Palamidessi, C. (ed.) ICLP 2003. LNCS, vol. 2916, pp. 128–147. Springer, Heidelberg (2003)CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2011

Authors and Affiliations

  • Paulo Moura
    • 1
    • 2
  1. 1.Dep. of Computer ScienceUniversity of Beira InteriorPortugal
  2. 2.Center for Research in Advanced Computing SystemsINESCPortoPortugal

Personalised recommendations