Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
Skip to main content

Babel: A functional and logic programming language based on constructor discipline and narrowing

Extended Abstract

  • Submitted Papers
  • Conference paper
  • First Online:
Algebraic and Logic Programming (ALP 1988)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 343))

Included in the following conference series:

Abstract

We present the experimental language BABEL, designed to achieve integration of functional and logic programming in a simple, flexible, and mathematically well founded way. The language relies on a constructor discipline and the use of narrowing to englobe rewriting and SLD-resolution. It is first-order, type-free and has a lazy operational semantics which supports infinite data structures and is sound w.r.t. a declarative semantics based on Scott domains. The paper includes BABEL's syntactical and semantical specification, some mathematical results on the semantics, and programming examples.

That is why it was called Babel, because Yahve confused there all the world's tongues ....

Genesis 11,9

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

Access this chapter

Subscribe and save

Springer+ Basic
$34.99 /Month
  • Get 10 units per month
  • Download Article/Chapter or eBook
  • 1 Unit = 1 Article or 1 Chapter
  • Cancel anytime
Subscribe now

Buy Now

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

Similar content being viewed by others

References

  1. De Groot D. and Lindstrom G. (eds.): Logic Programming: Functions, Relations and Equations, Prentice Hall, 1986.

    Google Scholar 

  2. Bellia M. and Levi G.: The Relation between Logic and Functional Languages: A survey, J. Logic Programming 1986, 3, pp. 217–236.

    Article  MATH  Google Scholar 

  3. Huet, G. and Open, D.C.: Equations and Rewrite Rules: A Survey, in: "Formal Language Theory: Perspectives and Open Problems", Academic Press, 1980, pp. 349–405.

    Google Scholar 

  4. Fay, M.: First-Order Unification in an Equational Theory, Procs. of the 4th Workshop on Automated Deduction, Austin, Texas (1979), pp. 161–167.

    Google Scholar 

  5. Hullot, J.M.: Canonical Forms and Unification. Procs. of the 5th Conference on Automated Deduction, Springer Verlag, LNCS 87 (1980), pp. 318–334.

    MathSciNet  Google Scholar 

  6. Fribourg, L.: SLOG: A logic programming language interpreter based on clausal superposition and rewriting. Procs. Symp. on Logic Programming Boston (1985), pp. 172–184.

    Google Scholar 

  7. Subrahmanyam, P.A. and You, J.: FUNLOG: A computational model integrating logic programming and functional programming. In [1], pp. 157–198.

    Google Scholar 

  8. Goguen, J.A. and Meseguer, J.: EQLOG: Equality, Types and Generic modules for Logic Programming, in [1], pp. 295–363.

    Google Scholar 

  9. Dincbas, M. and van Hentenryck, P.: Extended Unification Algorithms for the Integration of Functional Programming into Logic Programming, J. Logic Programming 1987:4, pp. 199–227.

    Article  MathSciNet  MATH  Google Scholar 

  10. Levi, G., Bosco, P.G., Giovannetti, E., Moiso, C. and Palamidessi, C.: A complete semantic characterization of K-LEAF, a logic language with partial functions. Procs. 4th Symp. on Logic Programming, San Francisco (1987), pp. 1–27.

    Google Scholar 

  11. Bosco P.G., Giovanetti E. and Moiso C.: Refined Strategies for Semantic Unification, Proc. TAPSOFT'87, LNCS 250, pp. 276–290.

    Google Scholar 

  12. van Emden, M.H. and Yukawa, K.: Logic Programming with Equations, J. Logic Programming 1987:4, pp. 265–288.

    Article  MathSciNet  MATH  Google Scholar 

  13. O'Donnell, M. J.: Equational Logic as a Programming Language. MIT Press, 1985.

    Google Scholar 

  14. Reddy, U.S.: Narrowing as the Operational Semantics of Functional languages, Proc. 1985 Symp. on Logic Programming, IEEE Comp. Soc. Press, 1895, pp. 138–151.

    Google Scholar 

  15. Lloyd, J. W.: Foundations of Logic Programming, 2nd edition, Springer Verlag, 1987.

    Google Scholar 

  16. Robinson, J.A.: A Machine Oriented Logic Based on the Resolution Principle, J. ACM 12, 1965, pp. 23–41

    Article  MathSciNet  MATH  Google Scholar 

  17. Malachi, Y. Manna, Z. and Waldinger, R.: TABLOG: A New Approach to Logic Programming, en [1], pp. 365–394.

    Google Scholar 

  18. Dijkstra, E.W.: A Discipline of Programming, Prentice Hall, 1976.

    Google Scholar 

  19. Bird, R. and Wadler, P.: Introduction to Functional Programming. Prentice Hall, 1988, pp. 188–189.

    Google Scholar 

  20. Scott, D.S.: Domains for Denotational Semantics, Proceedings ICALP'82, LNCS 140, Springer Verlag, 1982, pp. 577–613.

    Google Scholar 

  21. Larsen, K.G. and Winskel G.: Using Information Systems to solve Recursive Domain Equations Effectively, LNCS 173, Springer Verlag 1984, pp. 109–129.

    Google Scholar 

  22. Milner, R.: A Theory of Type Polymorphism in Programming, J. Comp. and Syst. Sci. 17, 1978, pp. 348–375.

    Article  MathSciNet  MATH  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

J. Grabowski P. Lescanne W. Wechler

Rights and permissions

Reprints and permissions

Copyright information

© 1988 Akademie-Verlag Berlin

About this paper

Cite this paper

Moreno-Navarro, J.J., Rodríguez-Artalejo, M. (1988). Babel: A functional and logic programming language based on constructor discipline and narrowing. In: Grabowski, J., Lescanne, P., Wechler, W. (eds) Algebraic and Logic Programming. ALP 1988. Lecture Notes in Computer Science, vol 343. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-50667-5_74

Download citation

  • DOI: https://doi.org/10.1007/3-540-50667-5_74

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-50667-6

  • Online ISBN: 978-3-540-46063-3

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics