Export Citations
Save this search
Please login to be able to save your searches and receive alerts for new content matching your search criteria.
- research-articleSeptember 2008
Nominal logic programming
ACM Transactions on Programming Languages and Systems (TOPLAS), Volume 30, Issue 5Article No.: 26, Pages 1–47https://doi.org/10.1145/1387673.1387675Nominal logic is an extension of first-order logic which provides a simple foundation for formalizing and reasoning about abstract syntax modulo consistent renaming of bound names (that is, α-equivalence). This article investigates logic programming ...
- articleApril 2007
Termination analysis of logic programs through combination of type-based norms
ACM Transactions on Programming Languages and Systems (TOPLAS), Volume 29, Issue 2Pages 10–eshttps://doi.org/10.1145/1216374.1216378This article makes two contributions to the work on semantics-based termination analysis for logic programs. The first involves a novel notion of type-based norm where for a given type, a corresponding norm is defined to count in a term the number of ...
- articleMarch 2005
Dealing with incomplete knowledge on CLP(FD) variable domains
ACM Transactions on Programming Languages and Systems (TOPLAS), Volume 27, Issue 2Pages 236–263https://doi.org/10.1145/1057387.1057389Constraint Logic Programming languages on Finite Domains, CLP(FD), provide a declarative framework for Artificial Intelligence problems. However, in many real life cases, domains are not known and must be acquired or computed. In systems that interact ...
- articleMay 2004
A framework for the integration of partial evaluation and abstract interpretation of logic programs
ACM Transactions on Programming Languages and Systems (TOPLAS), Volume 26, Issue 3Pages 413–463https://doi.org/10.1145/982158.982159Recently the relationship between abstract interpretation and program specialization has received a lot of scrutiny, and the need has been identified to extend program specialization techniques so as to make use of more refined abstract domains and ...
- articleJanuary 2001
Semiring-based constraint logic programming: syntax and semantics
ACM Transactions on Programming Languages and Systems (TOPLAS), Volume 23, Issue 1Pages 1–29https://doi.org/10.1145/383721.383725We extend the Constraint Logic Programming (CLP) formalism in order to handle semiring-based constraints. This allows us to perform in the same language both constraint solving and optimization. In fact, constraints based on semirings are able to model ...
-
- articleMarch 2000
Independence in CLP languages
ACM Transactions on Programming Languages and Systems (TOPLAS), Volume 22, Issue 2Pages 296–339https://doi.org/10.1145/349214.349224Studying independence of goals has proven very useful in the context of logic programming. In particular, it has provided a formal basis for powerful automatic parallelization tools, since independence ensures that two goals may be evaluated in parallel ...
- articleMarch 2000
Incremental analysis of constraint logic programs
ACM Transactions on Programming Languages and Systems (TOPLAS), Volume 22, Issue 2Pages 187–223https://doi.org/10.1145/349214.349216Global analyzers traditionally read and analyze the entire program at once, in a nonincremental way. However, there are many situations which are not well suited to this simple model and which instead require reanalysis of certain parts of a program ...
- articleSeptember 1999
Sharing and groundness dependencies in logic programs
ACM Transactions on Programming Languages and Systems (TOPLAS), Volume 21, Issue 5Pages 948–976https://doi.org/10.1145/330249.330252We investigate Jacobs and Langen's Sharing domain, introduced for the analysis of variable sharing in logic programs, and show that it is isomorphic to Marriott and Søndergaard's Pos domain, introduced for the analysis of groundness dependencies. Our key ...
- articleMay 1999
Compile-time memory reuse in logic programming languages through update in place
ACM Transactions on Programming Languages and Systems (TOPLAS), Volume 21, Issue 3Pages 430–501https://doi.org/10.1145/319301.319309Standard implementation techniques for single-assignment languages modify a data structure without destroying the original, which may subsequently be accessed. Instead a variant structure is created by using newly allocated cells to represent the changed ...
- articleMarch 1999
Effectivness of abstract interpretation in automatic parallelization: a case study in logic programming
ACM Transactions on Programming Languages and Systems (TOPLAS), Volume 21, Issue 2Pages 189–239https://doi.org/10.1145/316686.316688We report on a detailed study of the application and effectiveness of program analysis based on abstract interpretation of automatic program parallelization. We study the case of parallelizing logic programs using the notion of strict independence. We ...
- articleJuly 1998
Partial evaluation of functional logic programs
ACM Transactions on Programming Languages and Systems (TOPLAS), Volume 20, Issue 4Pages 768–844https://doi.org/10.1145/291891.291896Languages that integrate functional and logic programming with a complete operational semantics are based on narrowing, a unification-based goal-solving mechanism which subsumes the reduction principle of functional languages and the resolution ...
- articleMay 1998
An abstract machine for tabled execution of fixed-order stratified logic programs
ACM Transactions on Programming Languages and Systems (TOPLAS), Volume 20, Issue 3Pages 586–634https://doi.org/10.1145/291889.291897SLG resolution uses tabling to evaluate nonfloundering normal logic pr ograms according to the well-founded semantics. The SLG-WAM, which forms the engine of the XSB system, can compute in-memory recursive queries an order of magnitute faster than ...
- articleJanuary 1998
Controlling generalization and polyvariance in partial deduction of normal logic programs
ACM Transactions on Programming Languages and Systems (TOPLAS), Volume 20, Issue 1Pages 208–258https://doi.org/10.1145/271510.271525Given a program and some input data, partial deduction computes a specialized program handling any remaining input more efficiently. However, controlling the process well is a rather difficult problem. In this article, we elaborate global control for ...
- articleJuly 1997
A refinement calculus for the synthesis of verified hardware descriptions in VHDL
- Peter T. Breuer,
- Carlos Kloos Delgado,
- Andrés López Marín,
- Natividad Martínez Madrid,
- Luis Sánchez Fernández
ACM Transactions on Programming Languages and Systems (TOPLAS), Volume 19, Issue 4Pages 586–616https://doi.org/10.1145/262004.262007A formal refinement calculus targeted at system-level descriptions in the IEEE standard hardware description language VHDL is described here. Refinement can be used to develop hardware description code that is “correct by construction”. the calculus is ...
- articleNovember 1996
Parameter passing and control stack management in Prolog implementation revisited
ACM Transactions on Programming Languages and Systems (TOPLAS), Volume 18, Issue 6Pages 752–779https://doi.org/10.1145/236114.236120Parameter passing and control stack management are two of the crucial issues in Prolog implementation. In the Warren Abstract Machine (WAM), the most widely used abstract machine for Prolog implementation, arguments are passed through argument registers, ...
- articleSeptember 1996
Global analysis of constraint logic programs
ACM Transactions on Programming Languages and Systems (TOPLAS), Volume 18, Issue 5Pages 564–614https://doi.org/10.1145/232706.232734This article presents and illustrates a practical approach to the dataflow analysis of constraint logic programming languages using abstract interpretation. It is first argued that, from the framework point of view, it suffices to propose relatively ...
- articleJuly 1995
Backtracking without trailing in CLP (ℜLin)
ACM Transactions on Programming Languages and Systems (TOPLAS), Volume 17, Issue 4Pages 635–671https://doi.org/10.1145/210184.210192Existing CLP languages support backtracking by generalizing traditional Prolog implementations: modifications to the constraint system are trailed and restored on backtracking. Although simple and efficient, trailing may be very demanding in memory space,...
- articleMarch 1995
On the complexity of dataflow analysis of logic programs
ACM Transactions on Programming Languages and Systems (TOPLAS), Volume 17, Issue 2Pages 331–365https://doi.org/10.1145/201059.201068It is widely held that there is a correlation between complexity and precision in dataflow analysis, in the sense that the more precise an analysis algorithm, the more computationally expensive it must be. The details of this relationship, however, ...
- articleJanuary 1995
Improving abstract interpretations by combining domains
ACM Transactions on Programming Languages and Systems (TOPLAS), Volume 17, Issue 1Pages 28–44https://doi.org/10.1145/200994.200998This article considers static analysis based on abstract interpretation of logic programs over combined domains. It is known that analyses over combined domains provide more information potentially than obtained by the independent analyses. However, the ...
- articleSeptember 1994
Decompilation: the enumeration of types and grammars
ACM Transactions on Programming Languages and Systems (TOPLAS), Volume 16, Issue 5Pages 1613–1647https://doi.org/10.1145/186025.186093While a compiler produces low-level object code from high-level source code, a decompiler produces high-level code from low-level code and has applications in the testing and validation of safety-critical software. The decompilation of an object code ...