Back to Search
Start Over
Transforming Coroutining Logic Programs into Equivalent CHR Programs
- Source :
- VPT@ETAPS, Electronic Proceedings in Theoretical Computer Science, Vol 253, Iss Proc. VPT 2017, Pp 9-35 (2017)
- Publication Year :
- 2017
- Publisher :
- Open Publishing Association, 2017.
-
Abstract
- We extend a technique called Compiling Control. The technique transforms coroutining logic programs into logic programs that, when executed under the standard left-to-right selection rule (and not using any delay features) have the same computational behavior as the coroutining program. In recent work, we revised Compiling Control and reformulated it as an instance of Abstract Conjunctive Partial Deduction. This work was mostly focused on the program analysis performed in Compiling Control. In the current paper, we focus on the synthesis of the transformed program. Instead of synthesizing a new logic program, we synthesize a CHR(Prolog) program which mimics the coroutining program. The synthesis to CHR yields programs containing only simplification rules, which are particularly amenable to certain static analysis techniques. The programs are also more concise and readable and can be ported to CHR implementations embedded in other languages than Prolog.<br />In Proceedings VPT 2017, arXiv:1708.06887
- Subjects :
- FOS: Computer and information sciences
CHR
compiling control
program transformation
Computer Science - Logic in Computer Science
Selection (relational algebra)
Computer science
coroutines
computer.software_genre
Porting
lcsh:QA75.5-76.95
Prolog
logic programming
Program analysis
Control (linguistics)
Implementation
computer.programming_language
D.1.6
D.3.2
D.3.3
Computer Science - Programming Languages
Programming language
lcsh:Mathematics
Static analysis
lcsh:QA1-939
Partial deduction
Logic in Computer Science (cs.LO)
TheoryofComputation_MATHEMATICALLOGICANDFORMALLANGUAGES
lcsh:Electronic computers. Computer science
computer
Programming Languages (cs.PL)
Subjects
Details
- ISSN :
- 20752180
- Volume :
- 253
- Database :
- OpenAIRE
- Journal :
- Electronic Proceedings in Theoretical Computer Science
- Accession number :
- edsair.doi.dedup.....1c74d5c2d452591813d19d6bb0f09361
- Full Text :
- https://doi.org/10.4204/eptcs.253.4