nemo
nemo copied to clipboard
A fast in-memory rule engine
A relation with zero columns can have two possible values: either the empty set `{}` or the set containing the empty tuple `{()}`. Currently there is no way to cleanly...
Following program ```prolog a(1) :- ~b(1). ``` is normalized to ```prolog a(1) :- ~b(?x), ?x = 1. ``` Now `?x` is a unsafe variable, which the variable order generation code...
I would expect a warning, if a relation like "nonInitRelation" neither is imported nor appears in the head of any rule. `relation(?a) :- nonInitRelation(?a).`
It would be nice if one could programmatically add sources to a `Program`, which may not be backed by a file, but by an arbitrary stream of tuples (maybe generated...
Since the dictionary can consume quite a lot of memory it would be nice if it was visible in the output introduced by #338. This would involve implementing the `ByteSized`...
This is the major set of features that is currently missing for completely implementing DOOP program analysis in Nemo (See #111 for more details). This includes: - [x] #327 -...
We technically have benchmarks right now but those are not meaningful. We should write benchmarks that reflect common use cases to be able to use them as regression tests before...
Since #297 landed, the logical crate now exposes iterators of logical values of columns and not only serialized values. The bare minimum of necessary adjustments for the wasm bindings have...
Rework the way error messages are displayed to the user. Errors should ideally be easy to identify, be concise, yet still understandable. In particular, we might want to simplify the...