Please use this identifier to cite or link to this item: https://doi.org/10.1145/295656.295661
DC FieldValue
dc.titleOptimizing compilation of CLP(R)
dc.contributor.authorKelly, A.D.
dc.contributor.authorMarriott, K.
dc.contributor.authorMacdonald, A.
dc.contributor.authorStuckey, P.J.
dc.contributor.authorYap, R.
dc.date.accessioned2014-10-27T06:03:27Z
dc.date.available2014-10-27T06:03:27Z
dc.date.issued1998-11
dc.identifier.citationKelly, A.D., Marriott, K., Macdonald, A., Stuckey, P.J., Yap, R. (1998-11). Optimizing compilation of CLP(R). ACM Transactions on Programming Languages and Systems 20 (6) : 1223-1250. ScholarBank@NUS Repository. https://doi.org/10.1145/295656.295661
dc.identifier.issn01640925
dc.identifier.urihttp://scholarbank.nus.edu.sg/handle/10635/99368
dc.description.abstractConstraint Logic Programming (CLP) languages extend logic programming by allowing the use of constraints from different domains such as real numbers or Boolean functions. They have proved to be ideal for expressing problems that require interactive mathematical modeling and complex combinatorial optimization problems. However, CLP languages have mainly been considered as research systems, useful for rapid prototyping, but not really competitive with more conventional programing languages where efficiency is a more important consideration. One promising approach to improving the performance of CLP systems is the use of powerful program optimizations to reduce the cost of constraint solving. We extend work in this area by describing a new optimizing compiler for the CLP language CLP(R). The compiler implements six powerful optimizations: reordering of constraints, bypass of the constraint solver, splitting and dead-code elimination, removal of redundant constraints, removal of redundant variables, and specialization of constraints which cannot fail. Each program optimization is designed to remove the overhead of constraint solving when possible and keep the number of constraints in the store as small as possible. We systematically evaluate the effectiveness of each optimization in isolation and in combination. Our empirical evaluation of the compiler verifies that optimizing compilation can be made efficient enough to allow compilation of real-world programs and that it is worth performing such compilation because it gives significant time and space performance improvements.
dc.description.urihttp://libproxy1.nus.edu.sg/login?url=http://dx.doi.org/10.1145/295656.295661
dc.sourceScopus
dc.typeArticle
dc.contributor.departmentINFORMATION SYSTEMS & COMPUTER SCIENCE
dc.description.doi10.1145/295656.295661
dc.description.sourcetitleACM Transactions on Programming Languages and Systems
dc.description.volume20
dc.description.issue6
dc.description.page1223-1250
dc.description.codenATPSD
dc.identifier.isiut000079755000005
Appears in Collections:Staff Publications

Show simple item record
Files in This Item:
There are no files associated with this item.

SCOPUSTM   
Citations

8
checked on Apr 9, 2021

WEB OF SCIENCETM
Citations

6
checked on Apr 1, 2021

Page view(s)

66
checked on Apr 11, 2021

Google ScholarTM

Check

Altmetric


Items in DSpace are protected by copyright, with all rights reserved, unless otherwise indicated.