
This Article  
 
Share  
Bibliographic References  
Add to:  
Digg Furl Spurl Blink Simpy Del.icio.us Y!MyWeb  
Search  
 
ASCII Text  x  
J.I. Glasgow, M.A. Jenkins, E. Blevis, M.P. Féret, "Logic Programming with Arrays," IEEE Transactions on Knowledge and Data Engineering, vol. 3, no. 3, pp. 307319, September, 1991.  
BibTex  x  
@article{ 10.1109/69.91061, author = {J.I. Glasgow and M.A. Jenkins and E. Blevis and M.P. Féret}, title = {Logic Programming with Arrays}, journal ={IEEE Transactions on Knowledge and Data Engineering}, volume = {3}, number = {3}, issn = {10414347}, year = {1991}, pages = {307319}, doi = {http://doi.ieeecomputersociety.org/10.1109/69.91061}, publisher = {IEEE Computer Society}, address = {Los Alamitos, CA, USA}, }  
RefWorks Procite/RefMan/Endnote  x  
TY  JOUR JO  IEEE Transactions on Knowledge and Data Engineering TI  Logic Programming with Arrays IS  3 SN  10414347 SP307 EP319 EPD  307319 A1  J.I. Glasgow, A1  M.A. Jenkins, A1  E. Blevis, A1  M.P. Féret, PY  1991 KW  Nial; programming language; mathematical treatment; nested arrays; functional style; declarative capabilities; logic programming environment; logic clauses; Horn clause logic; userdefined control strategies; functional programming; knowledgebased systems application; functional programming; high level languages; logic programming VL  3 JA  IEEE Transactions on Knowledge and Data Engineering ER   
Nial is a programming language designed around a mathematical treatment of data as nested arrays. A goal of the research described is to integrate within Nial a functional style of programming based on the theory of arrays with the declarative capabilities of a logic programming environment. This is partially accomplished by storing logic clauses as arrays which can be manipulated using logic clauses. Arrays as terms are considered as part of the syntax of the clauses. The approach to logic programming is based on providing a flexible environment for experimenting with full clausal or Horn clause logic. A variety of predefined control strategies and the capability for userdefined control strategies have been provided. The expressive capabilities of combining logic and functional programming styles provides a suitable language for many application areas. The philosophy and design behind a combined logic/database model used to prototype a knowledgebased systems application are described.
[1] R. G. Bandes, "Constraining unification and the programming language Unicorn," inLogic Programming: Functions Relations and Equations, Degroot and Lindstrom, Eds. Englewood Cliffs, NJ: PrenticeHall, 1985, pp. 397410.
[2] R. Barbutti, M. Bellia, and G. Levi, "LEAF: A language which integrates logic, equations, and functions," inLogic Programming: Functions, Relations, and Equations, DeGroot and Lindstrom, Eds. Englewood Cliffs, NJ: PrenticeHall, 1986, pp. 201239.
[3] E. Blevis, "A basis for effective logic programming in Nial," Master's Thesis, Queen's Univ., Kingston, Canada, 1986.
[4] R. Chau, J. I. Glasgow, and M. A. Jenkins, "A framework for knowledge based systems in Nial," inProc. 1987 Phoenix Conf. Comput. Commun., Feb. 1987.
[5] R. Chau, J. I. Glasgow, and M. A. Jenkins, "Fuzzy information management using the roster model," inProc. 21st Hawaii Int. Conf. Syst. Sci., (HICSS21), Jan. 1988.
[6] M. Féret, "More expressive logic programming in Nial," M.Sc. Thesis, Queen's University, Kingston, Canada, 1988.
[7] J. I. Glasgow and R. A. Browse, "Programming languages for artificial intelligence,"Int. J. Comput. Math. with Appl., Special Issue on Practical Artificial Intelligence Systems, vol. 11, no. 5, pp. 431449, May 1985.
[8] J. I. Glasgow, M. A. Jenkins, and C. McCrosky, "User defined parallel control strategies," inMicrocomputerBased Expert Systems, Gupta and Prasad, Eds. IEEE Press, 1988. Also appears inProc Second IEEE Symp. Logic Programming, Boston, MA, July 1985.
[9] J. I. Glasgow and M.A. Jenkins, "Array theory, logic and the Nial language," inProc. Int. Conf. Comput. Languages, Miami, FL, Oct. 1988.
[10] J. I. Glasgow, M. A. Jenkins, C. McCrosky, and H. Meijer, "Expressing parallel algorithms in Nial,"Parallel Comput. J., to appear 1989.
[11] M. A. Jenkins, J. I. Glasgow, and C. McCrosky, "Programming styles in Nial,"IEEE Software, Jan. 1986.
[12] M. A. Jenkins and J. I. Glasgow, "A logical basis for nested array data structures,"Programming Languages J., vol. 14, no. 1, pp. 3549, 1989.
[13] M. A. Jenkins and W. H. Jenkins,The Q'Nial Reference Manual, Nial Systems Ltd., Kingston, Ont., Canada, 1985.
[14] M. A. Jenkins, "Nial as an AI language." inProc. 3rd Artif. Intell. Advanced Comput. Technol. Conf., Long Beach, 1987, pp. 9397.
[15] M. A. Jenkins and W. H. Jenkins,Artificial Intelligence Toolkit for Q'Nial, Nial Systems Ltd., Kingston, Ont., Canada, 1987.
[16] H. J. Komorowski, "QLOGThe programming environment for Prolog in Lisp," inLogic Programming, K. L. Clark and S. A. Tarnlund, Eds. New York: Academic, 1982, pp. 315323.
[17] R. Kowalski,Logic for Problem Solving. New York: NorthHolland, 1979.
[18] A. Martelli and U. Montanari, "Optimizing decision trees through heuristically guided search,"Commun. ACM, vol. 21, pp. 10251039, Dec. 1978.
[19] A. Martelli and U. Montanari, "An efficient unification algorithm,"ACM Trans. Program. Lang. Syst., vol. 4, no. 2, pp. 258282, 1982.
[20] T. More, "Notes on the diagrams, logic and operations of array theory," inStructures and Operations in Engineering and Management Systems, Bjorke and Franksen, Eds. Trondheim, Norway: Tapir, 1981.
[21] M. S. Paterson and M. N. Wegman, "Linear unification," inProc. 8th ACM Symp. Theory Comput., pp. 181186, 1976.
[22] D. L. Poole and R. Goebel, "Gracefully adding negation and disjunction to Prolog," inProc. Third Int. Conf. Logic Programming, London, July 1976.
[23] U. S. Reddy, "On the relationship between logic and functional languages," inLogic Programming: Functions, Relations, and Equations, DeGroot and Lindstrom, Eds. Englewood Cliffs, NJ: PrenticeHall, 1986.
[24] J. A. Robinson, "A machinedoriented logic based on the resolution principle,"J. Assoc. Comput. Mach., vol. 12, no. 1, pp. 2341, Jan. 1965.
[25] J. A. Robinson and E. E. Sibert, "LOGLISP: Motivations, design and implementation," inLogic Programming, K. L. Clark and S. A. Tarnlund, Eds. New York: Academic, 1982, pp. 299314.
[26] M. Sato and T. Sakurai, "QUTE: A functional language based on unification," inProc. Int. Conf. Fifth Generation Comput. Syst., ICOT 1984, pp. 156165
[27] F. Schmidt, "Data systems design using the roster model in Nial," inProc. 3rd Leuchendahl Workshop Structures in Syst. Sci., Trondheim 1983.
[28] J.H. Siekman, "Universal unification," inProc. Seventh Int. Conf. Automated Deduction, Lectures Notes in Computer Science, no. 170. New York: SpringerVerlag, 1984, pp. 142.
[29] P. A. Subrahmanyam, "FUNLOG = Functions + Logic: A computational model integrating functional and logical programming," inProc. Int. Symp. Logic Programming, IEEE, 1984, pp. 144153.
[30] Z. D. Umrigar and V. Pitchumani, "An experiment in programming with full firstorder logic," inProc. Symp. Logic Programming, Boston, MA, July 1985.