
This Article  
 
Share  
Bibliographic References  
Add to:  
Digg Furl Spurl Blink Simpy Del.icio.us Y!MyWeb  
Search  
 
ASCII Text  x  
B. Jayaraman, G. Gupta, "EQL: The Language and its Implementation," IEEE Transactions on Software Engineering, vol. 15, no. 6, pp. 771779, June, 1989.  
BibTex  x  
@article{ 10.1109/32.24730, author = {B. Jayaraman and G. Gupta}, title = {EQL: The Language and its Implementation}, journal ={IEEE Transactions on Software Engineering}, volume = {15}, number = {6}, issn = {00985589}, year = {1989}, pages = {771779}, doi = {http://doi.ieeecomputersociety.org/10.1109/32.24730}, publisher = {IEEE Computer Society}, address = {Los Alamitos, CA, USA}, }  
RefWorks Procite/RefMan/Endnote  x  
TY  JOUR JO  IEEE Transactions on Software Engineering TI  EQL: The Language and its Implementation IS  6 SN  00985589 SP771 EP779 EPD  771779 A1  B. Jayaraman, A1  G. Gupta, PY  1989 KW  conditional rules; functional programming; generalpurpose language; logic programming languages; EqL; patterndirected rules; dataconstructors; basic values; computational paradigm; equation solving; nondeterminism; deferred evaluation; logical variables; sequential implementation; compiletime flattening; runtime equationdelaying; lastequation optimization; equations; functional programming; high level languages; logic programming; mathematics computing VL  15 JA  IEEE Transactions on Software Engineering ER   
EqL, a generalpurpose language that combines the capabilities of functional and logic programming languages, is described. A program in EqL consists of a collection of conditional, patterndirected rules, where the conditions are expressed as a conjunction of equations, and the patterns are terms built up of dataconstructors and basic values. The computational paradigm in EqL is equation solving. Examples illustrating the major features of the language, nondeterminism, deferred evaluation of primitives, and logical variables are presented. The aspects of a sequential implementation for EqL, such as compiletime flattening of equations, runtime equationdelaying, and lastequation optimization, are also described.
[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. 613641, Aug. 1978.
[2] M. Bellia and G. Levi, "The relation between logic and functional languages:A survey," J. Logic Programming, vol. 3, pp. 217236, 1986.
[3] K. L. Clark and S. Gregory, "A firstorder theory of data and programs,"Inform. Processing, pp. 939944, 1977.
[4] D. DeGroot and G. Lindstrom,Logic Programming: Functions. Equations. and Relations. Englewood Cliffs, NJ: PrenticeHall, 1986.
[5] N. Dershowitz and D. A. Plaisted, "Applicative programmingcumlogic programming," inProc. 1985 Symp. Logic Programming, Boston, MA, 1985, pp. 5466.
[6] L. Fribourg, "SLOG: A logic programming language interpreter based on clausal superposition and rewriting," inProc. 1985 Symp. Logic Programming, Boston, MA, 1985, pp. 172184.
[7] D. P. Friedman and D. S. Wise, "CONS should not evaluate its arguments," inAutomata, Languages, and Programming, S. Michaelson and R. Milner, Eds. Edinburgh: Edinburgh University Press, 1976, pp. 257284.
[8] J. A. Goguen and J. Meseguer, "Equality, types, modules, and (why not?) generics for logic programming,"J. Logic Program., vol. 2, pp. 179210, 1984.
[9] P. Henderson and J. H. Morris, "A lazy evaluator," inProc. 3rd POPL Symp., 1976, pp. 95103.
[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. Jaffar and JL. Lassez, "Constraint Logic Programming,"Proc. 14th ACM Symp. Principles Programming Languages, ACM, New York, 1987, pp. 111119.
[12] B. Jayaraman, "Semantics of EqL,"IEEE Trans. Software Eng., vol. 14, pp. 472480, Apr. 1988.
[13] B. Jayaraman and G. Gupta, "EqL user's guide," Dep. Comput. Sci., UNCChapel Hill, Tech. Rep. TR 87010, May 1987, 30 pp.
[14] 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. 320331.
[15] S. Johnson, "Yacc: Yet another compilercompiler," Bell Lab., Murray Hill, NJ, Comput. Sci. Tech. Rep. 32, 1975.
[16] A. Josephson and N. Dershowitz, "An implementation of narrowing: The RITE way," inProc. IEEE Symp. Logic Programming, Salt Lake City, UT, Sept. 1986, pp. 187197.
[17] R. A. Kowalski, "Predicate logic as a programming language," inProc. IFIP 74. Amsterdam, The Netherlands: NorthHolland, 1974, pp. 556574.
[18] M. Lesk, "LexA lexical analyzer generator," Bell Lab., Murray Hill, NJ, Comput. Sci. Tech. Rep. 39, 1975.
[19] J. McCarthy,et al., LISP 1.5 Programmer's Manual. Cambridge, MA: MIT Press, 1965.
[20] S. Narain, "A technique for doing lazy evaluation in logic," inProc. IEEE Int. Symp. Logic Programming, Boston, MA, July 1985, pp. 261269.
[21] M. J. O'Donnell,Equational Logic as a Programming Language. Cambridge, MA: M.I.T. Press, 1985.
[22] F. Pereiraet al. CProlog User's Manual. Edinburgh: University of Edinburgh Press, Aug. 1984.
[23] S. L. Peyton Jones,The Implementation of Functional Programming Languages. Englewood Cliffs, NJ: PrenticeHall, 1987.
[24] U. S. Reddy, "Narrowing as the operational semantics of functional languages," inProc. 1985 Symp. Logic Programming, Boston, MA, 1985, pp. 138151.
[25] 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. 299313.
[26] L. Sterling and E. Shapiro,The Art of Prolog. Cambridge, MA: MIT Press, 1986.
[27] D. A. Turner, "Miranda: A nonstrict functional language with polymorphic types," inConf. Functional Program. Lang. Comput. Architecture, Nancy, France, Sept. 1985, pp. 116.
[28] D. H. D. Warren, "An abstract Prolog instruction set," SRI International, Menlo Park, CA, Tech. Note 309, Oct. 1983.
[29] D. H. D. Warren, "Higherorder extensions of Prolog: Are they needed?"Machine Intell., vol. 10, pp. 441454, 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. 109115, 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.