Automatic reordering for dataflow safety of Datalog
View / Open Files
Authors
Contrastin, MIstral
Rice, AC
Orchard, Dominic
Publication Date
2018-09-03Journal Title
Proceedings of the 20th International Symposium on Principles and Practice of Declarative Programming
Conference Name
20th International Symposium on Principles and Practice of Declarative Programming
Publisher
Association for Computing Machinery
Number
Article No.9
Type
Conference Object
This Version
AM
Metadata
Show full item recordCitation
Contrastin, M., Rice, A., & Orchard, D. (2018). Automatic reordering for dataflow safety of Datalog. Proceedings of the 20th International Symposium on Principles and Practice of Declarative Programming, (Article No.9) https://doi.org/10.1145/3236950.3236954
Abstract
Clauses 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).
Sponsorship
This work was supported by the EPSRC [grant number EP/M026124/1]
Funder references
Engineering and Physical Sciences Research Council (EP/M026124/1)
Identifiers
External DOI: https://doi.org/10.1145/3236950.3236954
This record's URL: https://www.repository.cam.ac.uk/handle/1810/285974
Rights
Licence:
http://www.rioxx.net/licenses/all-rights-reserved
Statistics
Total file downloads (since January 2020). For more information on metrics see the
IRUS guide.
Recommended or similar items
The current recommendation prototype on the Apollo Repository will be turned off on 03 February 2023. Although the pilot has been fruitful for both parties, the service provider IKVA is focusing on horizon scanning products and so the recommender service can no longer be supported. We recognise the importance of recommender services in supporting research discovery and are evaluating offerings from other service providers. If you would like to offer feedback on this decision please contact us on: support@repository.cam.ac.uk