Skip to content

Instantly share code, notes, and snippets.

Embed
What would you like to do?
Demo of session immutatibility in clara-rules
clara.test-rules> (com/clear-session-cache!)
{}
clara.test-rules> (defrule first->second-rule
[First]
=>
(insert! (->Second)))
#'clara.test-rules/first->second-rule
clara.test-rules> (defquery second-query
[]
[Second])
#'clara.test-rules/second-query
clara.test-rules> (def empty-session (mk-session [first->second-rule second-query]))
#'clara.test-rules/empty-session
clara.test-rules> (-> empty-session
(insert (->First))
fire-rules
(query second-query))
({})
clara.test-rules> (query empty-session second-query)
()
clara.test-rules> (type (insert empty-session (->First)))
clara.rules.engine.LocalSession
clara.test-rules>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment