LogicBlox
Appearance
Paradigms | Declarative, Logic programming |
---|---|
Family | Datalog |
Typing discipline | Static |
License | Commercial |
Website | logicblox |
Influenced by | |
Datalog |
The LogicBlox system is a commercial, declarative, incremental logic programming language and deductive database inspired by Datalog. The LogiQL programming language extends Datalog with several features, including stratified negation, aggregation, and a module system. LogicBlox has been used to build pointer analyses for Java.[1]
Features
- Stratified negation[2]
- Aggregate functions[3]
- Evaluation using a novel worst-case optimal join algorithm.[4]
- Data constructors
- Static typing[5]
- A module[disambiguation needed] system
- Probabilistic programming features
References
Notes
- ^ Antoniadis, Tony; Triantafyllou, Konstantinos; Smaragdakis, Yannis (2017-06-18). "Porting doop to Soufflé: a tale of inter-engine portability for Datalog-based analyses". Proceedings of the 6th ACM SIGPLAN International Workshop on State Of the Art in Program Analysis. SOAP 2017. New York, NY, USA: Association for Computing Machinery: 25–30. doi:10.1145/3088515.3088522. ISBN 978-1-4503-5072-3.
- ^ "6.4. Negation - LogicBlox 3.10 Reference Manual". developer.logicblox.com. Retrieved 2023-03-04. "Additionally, negation is only allowed when the platform can determine a way to stratify all rules and constraints that use negation."
- ^ "Chapter 7. Rules - LogicBlox 3.10 Reference Manual". developer.logicblox.com. Retrieved 2023-03-04.
- ^ Veldhuizen, Todd L. (2013-12-20). "Leapfrog Triejoin: a worst-case optimal join algorithm". arXiv:1210.0481 [cs].
- ^ Zook, David; Pasalic, Emir; Sarna-Starosta, Beata (2009). Gill, Andy; Swift, Terrance (eds.). "Typed Datalog". Practical Aspects of Declarative Languages. Berlin, Heidelberg: Springer: 168–182. doi:10.1007/978-3-540-92995-6_12. ISBN 978-3-540-92995-6. "Our type system has been implemented as a part of the LogicBlox development environment."
Sources
- Green, Todd J.; Aref, Molham; Karvounarakis, Grigoris (2012). Barceló, Pablo; Pichler, Reinhard (eds.). "LogicBlox, Platform and Language: A Tutorial". Datalog in Academia and Industry. Berlin, Heidelberg: Springer: 1–8. doi:10.1007/978-3-642-32925-8_1. ISBN 978-3-642-32925-8.
- Aref, Molham; ten Cate, Balder; Green, Todd J.; Kimelfeld, Benny; Olteanu, Dan; Pasalic, Emir; Veldhuizen, Todd L.; Washburn, Geoffrey (2015-05-27). "Design and Implementation of the LogicBlox System". Proceedings of the 2015 ACM SIGMOD International Conference on Management of Data. SIGMOD '15. New York, NY, USA: Association for Computing Machinery: 1371–1382. doi:10.1145/2723372.2742796. ISBN 978-1-4503-2758-9.
Further Reading
- Halpin, Terry; Rugaber, Spencer (2014-11-13). LogiQL: A Query Language for Smart Databases. CRC Press. ISBN 978-1-4822-4493-9.