Skip to main content
Log in

A typed functional extension of logic programming

  • Regular Papers
  • Published:
New Generation Computing Aims and scope Submit manuscript

Abstract

A logic language is suitable for specification if it is equipped with features for data abstraction and modularization. In this paper, an effective mechanism to incorporate function and type into logic programming is presented as the means to embed data abstraction mechanism into logic programming. This incorporation is essentially based on Horn clause logic with equality and a polymorphic type system that is an extension of Mycroft and O’Keefe’s system. This paper also presents an implementation based on Warren Abstract Machine (WAM) and shows the performance, along with a comparison with WAM.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  1. Barbuti, R., Bellia, M., Levi, G., and Martelli, M., “LEAF: A language which integrates logic, equations and functions,”LOGIC PROGRAMMING Functions, and Equations, and Equations (D. DeGroot and G. Lindstrom, eds.), Prentice-Hall, pp. 201–238, 1986.

  2. Bosco, P. G. and Giovannetti, E., “IDEAL: An ideal deductive applicative language,” inProc. of 1986 Symposium on Logic Programming, pp. 89–95, 1986.

  3. Bosco, P. G. Cecchi, C., and Moiso, C., “An extension of WAM for K-LEAK: A WAM-based compilation of conditional narrowing,” inProc. of Sixth International Conference on Logic Programming, pp. 318–336, 1989.

  4. Burstall, R. M., MacQueen, D. B., and Sannella, D. T., “HOPE: An experimental applicative language,” inProc. of 1980 LISP Conference, pp. 136–144, 1980.

  5. Cardelli, L. and Wegner, P., “On understanding types, data abstraction, and polymorphism,”Computing Survey, 17, 4, pp. 471–522, 1985.

    Article  Google Scholar 

  6. Darlington, J., Field, A. J., and Pull, H., “The unification of functional and logic language,” inLOGIC PROGRAMMING Functions, Relations, and Equations (D. DeGroot and G. Lindstrom, eds.), Prentice-Hall, pp. 37–72, 1986.

  7. Dershowitz, N. and Plaisted, D. A., “Logic programming cum applicative programming,” inProc. of the 1985 International Symposium on Logic Programming, pp. 54–66, 1985.

  8. Dietrich, R. and Hagl. F., “A polymorphic type system with subtypes for Prolog,” inProc. of the Second European Symposium on Programming, pp. 79–93, 1988.

  9. Gabriel, J., Lindholm, T. G., Lusk, E. L., and Overbeek, R. A., “A tutorial on the Warren abstract machine for computational logic,”Reseach Paper, ANL-84-84, Argonne National Laboratory, 1985.

  10. Goguen, J. A., Meseguer, J., and Plaisted, D. “Programming with parametrized abstract objects in OBJ,” in,Theory and Practice of Software Technology (D. Ferriri, M. Bolognani, and J. Goguen, eds.), North-Holland, pp. 163–193, 1983.

  11. Goguen, J. A. and Meseguer, J., “Equality, types, modules, and (why not?) generics for logic programming,”Journal of Logic Programming, 1, 2, pp. 179–210, 1984.

    Article  MATH  MathSciNet  Google Scholar 

  12. Hanus, M., “Horn Clause Specifications with Polymorphic Types,”Ph. D. thesis, Fachbereich Informatik, Universitat Dortmund, 1989.

  13. Harper, R., “Introduction to standard ML,”LFCS Technical Report, ECS-LFCS-86-14, Department of Computer Science, University of Edinburgh 1986.

  14. Huet, G. and Oppen, D., Equations and rewrite rules a survey,”in Formal Language Theory: Perspecitives and Open Problems, Academic Press, 1980.

  15. Hullot, J. M., “Canonical forms and unification,” inProc. of 5th Conference on Automated Deduction, Lecture Notes in Computer Science, 87, pp 318–334, 1980.

  16. Jaffar, J., Lassez, J. L., and Maher, J., “A Logic programming language scheme,” inLOGIC PROGRAMMING Functions, Relations, and Equations (D. DeGroot and G. Lindstrom, eds.), Prentice-Hall, pp. 441–468, 1986.

  17. Nadathur G. and Miller D., “A overview of λProlog,”MS-CIC-88-40, University of Pennsylvania, Department of Computer and Information Science, 1988.

  18. Nang, J. H., Shin, D. W., Maeng S. R., and Cho, J. W., “Design and performance evaluation of a sequential abstract machine for functional logic languages,”Journal of The Korea Information Science Society, 17, 1, pp. 62–73, 1990.

    Google Scholar 

  19. Levi, G., Palamidessi, C., Bosco, P. G., Giovannetti, E., and Moiso, C., “A completeness semantic characterization of K-leaf: A logic language with partial functions,” inProc. of 1987 Symposium on Logic Programming, San Francisco, pp. 318–327, 1987.

  20. Lloyd J. W.,Foundation of Logic Programming, Springer-Verlag, 1984.

  21. Milner, R., “A theory of type polymorphism in programming,”Journal of Computer and System Science, 17, pp. 348–375, 1978.

    Article  MATH  MathSciNet  Google Scholar 

  22. Mycroft, A. and O’keefe, R. A., “A Polymorphic type system for Prolog,”Artificial Intelligence, 23, pp. 295–307, 1984.

    Article  MATH  MathSciNet  Google Scholar 

  23. Robinson, J. A. and Sibert E. E., “LOGLISP: motivation, design and implementation,” inLogic Programming (K. L. Clark and S.-A. Tarlund, eds.), Academic Press, pp. 299–313, 1982.

  24. Shapiro, E. Y., “A Subset of concurrent Prolog and its interpreter,”ICOT Technical Repert, TR-003, 1983.

  25. Shin, D. W., Nang, J. H., Han, S., and Maeng, S. R., “A functional logic language based on canonical unification,” inProc. of the 4th International Symposium on Logic Programming, pp. 328–334, 1987.

  26. Shin, D. W., Nang, J. H., Maeng, S. R., and Cho, J. W., “The semantics of a functional logic language with input mode,” inProc of the International Conference on 5th Generation Computer Systems 1988, pp. 327–336, 1988.

  27. Shin, D. W., “A typed functional logic language: semantics and implementation,”Ph. D. thesis, Department of Computer Science, KAIST 1990.

  28. Subrahmanyam, P. A. and You, J. H., “FUNLOG: A computational model integrating logic programming and functional programming,” inLOGIC PROGRAMMING: Functions, Relations, and Equations (D. DeGroot and G. Lindstrom, eds.), Prentice-Hall, pp. 157–200, 1986.

  29. Zachary, J. L., “A framework for incorporating abstraction mechanisms into the logic programming paradigm,”Ph. D. thesis, Laboratory for Computer Science, MIT, 1987.

Download references

Author information

Authors and Affiliations

Authors

Additional information

This paper has been supported in part by the Ministry of Science and Technology in Korea as a national project for the next generation computer technology, under contract no. N04891.

About this article

Cite this article

Shin, D.W., Nang, J.H., Maeng, S.R. et al. A typed functional extension of logic programming. New Gener Comput 10, 197–221 (1992). https://doi.org/10.1007/BF03037479

Download citation

  • Received:

  • Revised:

  • Issue Date:

  • DOI: https://doi.org/10.1007/BF03037479

Keywords

Navigation