This Article 
   
 Share 
   
 Bibliographic References 
   
 Add to: 
 
Digg
Furl
Spurl
Blink
Simpy
Google
Del.icio.us
Y!MyWeb
 
 Search 
   
Semantics of EqL
April 1988 (vol. 14 no. 4)
pp. 472-480

We present the formal semantics of a novel language, called EqL, for first-order functional and Horn logic programming. An EqL program is a set of conditional pattern-directed rules, where the conditions are expressed as a conjunction of equations. The programming paradigm provided by this language may be called equational programming. The declarative semantics of equations is given in terms of their complete set of solutions, and the operational semantics for solving equations is an extension of reduction, called object refinement. The correctness of the operational semantics is established through soundness and completeness theorems. Examples are given to illustrate the language and its semantics.

[1] J. Backus, "Can programming be liberated from the von Neumann style? A functional style and its algebra of programs,"Commun. ACM, vol. 21, no. 8, pp. 613-641, Aug. 1978.
[2] M. Bellia and G. Levi, "The relation between logic and functional languages:A survey," J. Logic Programming, vol. 3, pp. 217-236, 1986.
[3] W. F. Clocksin and C. S. Mellish,Programming in Prolog. New York: Springer-Verlag, 1984.
[4] J. S. Conery and D. F. Kibler, "Parallel interpretation of logic programs," inConf. Functional Program. Lung. and Compu' Architecture, Portsmouth, NH, 1981, pp. 163-170.
[5] D. DeGroot and G. Lindstrom,Logic Programming: Functions. Equations. and Relations. Englewood Cliffs, NJ: Prentice-Hall, 1986.
[6] N. Dershowitz and D. A. Plaisted, "Applicative programming cum logic programming," in1985 Symp. Logic Programming. Boston, MA, July 1985, pp. 54-66.
[7] L. Fribourg, "Oriented equational clauses as a programming language,"J. Logic Program., vol. 2, pp. 165-177, 1984.
[8] J. A. Goguen and J. Meseguer, "Equality, types, modules. and (why not?) generics for logic programming,"J. Logic. Program., vol. 2, pp. 179-210, 1984.
[9] A. Hansson, S. Haridi, and S.-A. Tärnlund, "Properties of a logic programming language," inLogic Programming, K. L. Clark and S.- A. Tärnlund, Eds. New York: Academic, 1982, pp. 267-280.
[10] C. M. Hoffman and M. J. O'Donnell, "Programming with equations,"ACM Trans. Program. Lung. Syst., vol. 4, no. 1, pp. 83- 112, Jan. 1982.
[11] J.-M. Hullot, "Canonical forms and unification," inProc. 5th Workshop Automated Deduction(Lecture Notes in Computer Science). New York: Springer-Verlag. 1980, pp. 318-334.
[12] B. Jayaraman and F. S. K. Silbermann, "Equations, sets, and reduction semantics for functional and logic programming," in 1986ACM Conf. LISP and Functional Programming, Boston, MA, Aug. 1986, pp. 320-331.
[13] B. Jayaraman, F. S. K. Silbermann, and G. Gupta, "Equational programming: A unifying approach to functional and logic programming," inInt. Conf. Computer Languages, Miami Beach, FL, Oct. 1986, pp. 47-57.
[14] B. Jayaraman and G. Gupta, "EqL user's guide," Dep. Comput. Sci., Univ. North Carolina, Chapel Hill, Tech. Rep. TR 87-010, May 1987.
[15] R. M. Keller, "FEL programmer's guide," Dep. Comput. Sci., Univ. Utah, Salt Lake City, AMPS Tech. Memo 7, Apr. 1982.
[16] G. Lindstrom, "Functional programming and the logical variable," in12th ACM Symp. Principles of Program. Lang., New Orleans, LA, Jan. 1985, pp. 266-280.
[17] Y. Malachi, Z. Manna, and R. Waldinger, "TABLOG: The deductive-tableau programming language," inACM Symp. LISP and Functional Programming, Austin, TX, Aug. 1984, pp. 323-330.
[18] J. McCarthyet al., 'LISP 1.5 Programmer's Manual. Cambridge, MA: M.I.T. Press, 1965.
[19] R. Milner, "A proposal for standard ML,"Conf. Record of the ACM Symp. LISP and Functional Programming, Aug. 1984.
[20] S. Narain, "A technique for doing lazy evaluation in logic," inIEEE Int. Symp. Logic Programming, Boston, MA, July 1985, pp. 261- 269.
[21] M. J. O'Donnell,Equational Logic as a Programming Language. Cambridge, MA: M.I.T. Press, 1985.
[22] G. Plotkin, "A powerdomain construction,"SIAM J. Comput., vol. 5, pp. 452-486, 1976.
[23] U. S. Reddy, "Narrowing as the operational semantics of functional languages," in1985 Symp. Logic Programming, Boston, MA, July 1985, pp. 138-151.
[24] J. A. Robinson and E. E. Sibert, "LOGLISP: Motivation, design. and implementation," inLogic Programming, K. L. Clark and S.-A. Tärnlund, Eds. New York: Academic, 1982, pp. 299-313.
[25] J. A. Robinson, "New generation knowledge processing: Syracuse University parallel expression reduction," Syracuse Univ.. First Annu. Progress Rep., Dec. 1984.
[26] J. E. Stoy,Denotational Semantics: The Scott-Strachey Approach to Programming Language Theory. Cambridge, MA: MIT Press, 1977.
[27] D. A. Turner, "Miranda: A nonstrict functional language with polymorphic types," inConf. Functional Program. Lang. Comput. Architecture, Nancy, France, Sept. 1985, pp. 1-16.
[28] M. H. van Emden and R. A. Kowalski, "The semantics of predicate logic as a programming language,"J. ACM, vol. 23, no. 4, pp. 733- 743, 1976.
[29] D. H. D. Warren, "Higher-order extensions of Prolog: Are they needed'?"Machine Intell., vol. 10, pp. 44-454, 1983.
[30] D. H. D. Warren, F. Pereira, and L. M. Pereira, "Prolog: The language and its implementation compared with LISP,"SIGPLAN Notices, vol. 12, no. 8, pp. 109-115, 1977.
[31] J.-H. You and P. A. Subrahmanyam, "Equational logic programming: An extension to equational programming," in13th ACM Symp. Principles of Program. Lung., St. Petersburg, FL, 1986, pp. 209- 218.

Index Terms:
Correctness theorems, denotational semantics, equational programming, equation solving, functional programming, logic programming, object refinement, reduction semantics.
Citation:
B. Jayaraman, "Semantics of EqL," IEEE Transactions on Software Engineering, vol. 14, no. 4, pp. 472-480, April 1988, doi:10.1109/32.4670
Usage of this product signifies your acceptance of the Terms of Use.