TY - GEN
T1 - Set abstraction in functional and logic programming
AU - Silbermann, Frank S.K.
AU - Jayaraman, Bharat
N1 - Publisher Copyright:
© 1989 ACM.
PY - 1989/11/1
Y1 - 1989/11/1
N2 - This paper addresses the declarative and computational issues of incorporating set abstraction into functional and logic programming languages. The main results are the following: (i) Relative set abstraction can combine a lazy higher-order functional programming with not only first-order Horn logic, but also with a useful subset of higher-order Horn logic. Sets, as well as functions, can be treated as first-class objects. (ii) Angelic powerdomains provide the semantic foundation. These are compatible with lazy evaluation and are well-defined over elements from even non-flat (higher-order) domains. (iii) A new computation rule, more efficient than the parallel-outermost rule, is developed and shown to be a correct computation rule. (A simple left-most rule is not adequate for this language.) (iv) Optimizations incorporating ideas from narrowing and resolution greatly improve the efficiency of the interpreter, while maintaining correctness.
AB - This paper addresses the declarative and computational issues of incorporating set abstraction into functional and logic programming languages. The main results are the following: (i) Relative set abstraction can combine a lazy higher-order functional programming with not only first-order Horn logic, but also with a useful subset of higher-order Horn logic. Sets, as well as functions, can be treated as first-class objects. (ii) Angelic powerdomains provide the semantic foundation. These are compatible with lazy evaluation and are well-defined over elements from even non-flat (higher-order) domains. (iii) A new computation rule, more efficient than the parallel-outermost rule, is developed and shown to be a correct computation rule. (A simple left-most rule is not adequate for this language.) (iv) Optimizations incorporating ideas from narrowing and resolution greatly improve the efficiency of the interpreter, while maintaining correctness.
UR - https://www.scopus.com/pages/publications/84916492827
U2 - 10.1145/99370.99398
DO - 10.1145/99370.99398
M3 - Conference contribution
AN - SCOPUS:84916492827
T3 - Proceedings of the 4th International Conference on Functional Programming Languages and Computer Architecture, FPCA 1989
SP - 313
EP - 326
BT - Proceedings of the 4th International Conference on Functional Programming Languages and Computer Architecture, FPCA 1989
PB - Association for Computing Machinery
T2 - 4th International Conference on Functional Programming Languages and Computer Architecture, FPCA 1989
Y2 - 11 September 1989 through 13 September 1989
ER -