Fork me on GitHub
Drew Verlee14:04:28

Does anyone know any good resources that discuss the relationship between types/specs, functions, queries and rule engines? I was doing some late night brainstorming and i want to be able to find a correspondense between them as a way to discuss the trade offs. I find that often people, myself included, land in one camp and find it hard to understand when it would be applicable to move to another. I have been doing this in my head for quite a while. Here is a bit of how i'm currently thinking about it: A function is the mapping between the set of inputs and the set of outputs. Fn1 : S1 -> S2 It's usefulness is judged by its ability to communicate properties of the set its mapping over and perform that mapping. A spec/type is also a function from the set of inputs to a set of outputs. Fn2 : S1 -> S2 A spec/types's usefulness is judged by its ability to communicate properties of the set's it's mapping over. To be useful a spec, type must communicate less then the function. A spec/type's usefulness must also be weighed by the duplication in logic that you put upon the system.


I’m very interested in the same question. I want to model domains in Datascript and clara (rules engine) then generate working and highly malleable systems built out of spec’d functions, etc. Inspired by and


(alternately, I want to explore and discover the best ways to accomplish that — currently that appears to be Datascript and clara)

Piotr Roterski22:04:26

you guys might want to take a look at this proof-of-concept integration of fulcro + clara rules (code: and some discussion gathered here: )

👍 4
Drew Verlee14:04:09

@UCHV4JZ7A I asked about the relationship between hodur and datalog here: The claim was that the Hodur scehma might serve more implementations then just say datomic. I think my approach if i were building this would be to start with datomic datalog (what ever api i was using). Regardless the challanges are going to be very unique to your needs. Regarding building systems out of speced functions, etc. I think the challange arises mostly at the database level. Even given complete control on a greenfield project it's not clear how much synergy you can get between a rules engine and a database. Naga is the closests i know of,, But i have a outdated conference talk level understanding of these topics. Everyone i know that has tried to build a unified system around a data model has run into performance issues that they have to iron out. I niavely think incrmental computation would go a long way to fixing a good many of those issues. @UHA0AQZ2M That looks promising. I really think the idea of a rules engine as the state mechanism


Interesting, thanks @U0DJ4T5U1! I forgot naga existed and it’s super useful for me to look at it right now. re: incremental computation, there’s


What kind of performance issues have people run into? Is part of the problem that you have to retrieve and process too much state in order to process a query, because you have to first pull and hydrate the system’s data model from the datastore, and then process the user query?