Has anyone encountered
Dyna before? The project seems to be abandoned now (hence archived link), but it's a logic language that generalises Datalog (a binary logic) to a "weighted logic". Essentially, every fact in the program can be associated with an
aggregate number, rather than just "true" and "false". I'm particularly curious whether this is a good approach for providing
aggregation in a logic language. Aggregation is an essential feature for writing a non-trivial logic program, but I don't like the kind of aggregation made available in Prolog and traditional Datalog extensions: they feel far too clunky. You could describe the difference as: "Datalog aggregates by combining reads" whereas "Dyna aggregates by combining writes".
I'm going to deep dive into Dyna; it would be good to know if anyone here has already explored it 🙂