2 ms·
I'm curious I can't find any reference to "unification" in percival's source code [1]. I'd assume you can't have datalog without unification :-) 1: https://git
by emmanueloga_ 4y ago
I'm curious I can't find any reference to "unification" in percival's source code [1]. I'd assume you can't have datalog without unification :-)
1: https://github.com/ekzhang/percival https://github.com/ekzhang/percival
- infogulch 4y agoI've also worked on percival a bit, it compiles (transpiles?) the datalog ast into javascript code on demand and executes it to get the results, see [1]. Percival's creator, Eric, submitted a Show HN that received a couple comments [3], and also submitted a 10m presentation about the project to the HYTRADBOI 'virtual conference' earlier this year [2]. The Have You Tried Rubbing A Database On It conference included several awesome presentations featuring datalog, which readers may find interesting [4]. [1]: https://github.com/ekzhang/percival/blob/main/crates/percival/src/codegen.rs#L490 https://github.com/ekzhang/percival/blob/main/crates/perciva... [2]: https://www.hytradboi.com/2022/percival-a-reactive-language-for-exploratory-data-analysis-and-visualization https://www.hytradboi.com/2022/percival-a-reactive-language-... [3]: https://news.ycombinator.com/item?id=29521975 https://news.ycombinator.com/item?id=29521975 [4]: https://www.hytradboi.com/ https://www.hytradboi.com/
- philzook 4y agoDepending on what you mean, I'd say datalog is partially characterized as compared to prolog by it's lack of unification (also it's typically executed bottom up and sometimes considered to not have compound terms). Unification is roughly bidirectional pattern matching whereas datalog rules are in essence performing unidirectional pattern matching / query on a database.