Logic programming with arrays
- 1 January 1991
- journal article
- Published by Institute of Electrical and Electronics Engineers (IEEE) in IEEE Transactions on Knowledge and Data Engineering
- Vol. 3 (3) , 307-319
- https://doi.org/10.1109/69.91061
Abstract
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 user-defined 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 knowledge-based systems application are described.Keywords
This publication has 12 references indexed in Scilit:
- Universal unificationPublished by Springer Nature ,2006
- Fuzzy information management using the roster modelPublished by Institute of Electrical and Electronics Engineers (IEEE) ,2003
- Array theory, logic and the Nial languagePublished by Institute of Electrical and Electronics Engineers (IEEE) ,2003
- A logical basis for nested array data structuresComputer Languages, 1989
- Expressing parallel algorithms in NialParallel Computing, 1989
- Gracefully adding negation and disjunction to PrologPublished by Springer Nature ,1986
- Programming Styles in NialIEEE Software, 1986
- Programming languages for artificial intelligenceComputers & Mathematics with Applications, 1985
- An Efficient Unification AlgorithmACM Transactions on Programming Languages and Systems, 1982
- Optimizing decision trees through heuristically guided searchCommunications of the ACM, 1978