A fully abstract semantics for a first-order functional language with logic variables

R Jagadeesan, K Pingali, P Panangaden - ACM Transactions on …, 1991 - dl.acm.org
ACM Transactions on Programming Languages and Systems (TOPLAS), 1991dl.acm.org
There is much interest in combining the functional and logic programming paradigms; in
particular, there have been several proposals for adding logic variables to functional
languages, since that permits incremental construction of data structures through constraint
intersection, While it is straightforward to give an abstract semantics for functional languages
and for logic languages, it has proven surprisingly difficult to give a proper semantic account
of functional languages with logic variables. We solve this problem in this paper. First, we …
There is much interest in combining the functional and logic programming paradigms; in particular, there have been several proposals for adding logic variables to functional languages, since that permits incremental construction of data structures through constraint intersection, While it is straightforward to give an abstract semantics for functional languages and for logic languages, it has proven surprisingly difficult to give a proper semantic account of functional languages with logic variables. We solve this problem in this paper. First, we present a first-order functional language with logic variables and give its meaning using a structural operational semantics. Then, we give it a denotational semantics, using a novel technique involving closure operators on a Scott domain. Finally, we show that these two semantics correspond in the strongest possible way: we show that the denotational semantics is fully abstract with respect to the operational semantics. The techniques developed in this paper are quite general and can be used to give semantics to any constraint-based logic programming language, Ourresults canalso reinterpreted asageneralization of Kahn semantics for dataflow networks in which processes not only exchange messages, but have access to a shared global address space in which variables are bound through constraint intersection,
ACM Digital Library
Showing the best result for this search. See all results