Show simple item record

dc.contributor.authorContrastin, MIstral
dc.contributor.authorRice, AC
dc.contributor.authorOrchard, Dominic
dc.date.accessioned2018-11-26T12:01:45Z
dc.date.available2018-11-26T12:01:45Z
dc.date.issued2018-09-03
dc.identifier.urihttps://www.repository.cam.ac.uk/handle/1810/285974
dc.description.abstractClauses and subgoals in a Datalog program can be given in any order without affecting program meaning. However, practical applications of the language require the use of built-in or external predicates with particular dataflow requirements. These can be expressed as input or output modes on arguments. We describe a static analysis of moding for Datalog which can transform an ill-moded program into a well-moded program by reordering clause subgoals, satisfying dataflow requirements. We describe an incremental algorithm which efficiently finds a reordering if it exists. This frees the programmer to focus on the declarative specification of their program rather than on the implementation details of external predicates. We prove that our computed reorderings yield well-moded programs (soundness) and that if a program can be made well-moded, we compute a reordering to do so (completeness).
dc.description.sponsorshipThis work was supported by the EPSRC [grant number EP/M026124/1]
dc.publisherAssociation for Computing Machinery
dc.titleAutomatic reordering for dataflow safety of Datalog
dc.typeConference Object
prism.numberArticle No.9
prism.publicationNameProceedings of the 20th International Symposium on Principles and Practice of Declarative Programming
dc.identifier.doi10.17863/CAM.33299
dcterms.dateAccepted2018-06-25
rioxxterms.versionofrecord10.1145/3236950.3236954
rioxxterms.versionAM
rioxxterms.licenseref.urihttp://www.rioxx.net/licenses/all-rights-reserved
rioxxterms.licenseref.startdate2018-06-25
dc.contributor.orcidRice, Andrew [0000-0002-4677-8032]
rioxxterms.typeConference Paper/Proceeding/Abstract
pubs.funder-project-idEngineering and Physical Sciences Research Council (EP/M026124/1)
cam.issuedOnline2018-09-03
pubs.conference-name20th International Symposium on Principles and Practice of Declarative Programming
pubs.conference-start-date2018-09-03
pubs.conference-finish-date2018-09-05


Files in this item

Thumbnail

This item appears in the following Collection(s)

Show simple item record