Precept 0.5.0-alpha
Released under the MIT
A declarative programming framework.
Installation
To install, add the following dependency to your project or build file:
[precept "0.5.0-alpha"]
Namespaces
precept.core
Public variables and functions:
- action-ch
- apply-additions-to-store
- apply-changes-to-session
- apply-removals-to-store
- batch-complete?
- ch-chsk
- changes-mult
- changes-out
- changes-xf
- chsk
- chsk-send!
- chsk-state
- connect-devtools-socket!
- create-change-report-ch
- create-dto>socket-router
- create-fired-session-ch
- default-devtools-options
- default-group
- devtools-socket-ch
- devtools-socket-router
- dispatch!
- done-ch
- empty-batch?
- groups
- handle-event
- handle-message
- identical-conditions-and-consequences-error
- init-session-ch
- init-transactor
- lens
- matching-conditions-and-consequences
- matching-consequences
- notify!
- read-changes-from-session
- realized-session
- register
- register-rule
- removals-out
- resume!
- resume-with-devtools!
- session->store
- session-mult
- start!
- start-with-devtools!
- subscribe
- swap-session!
- swap-session-sync!
- then
- trace
- transactor
- update-session-history
precept.listeners
Public variables and functions:
- all-listeners
- append-trace
- check-retract-facts-logical-failure
- create-devtools-listeners
- create-fact-listener
- deconstruct-node-token
- diff-ops
- explain-insert-facts
- fact-traces
- get-fact-match-or-matches
- handle-event!
- insertions
- list-facts
- ops
- replace-listener
- retractions
- split-matches-and-tokens
- split-ops
- to-transient-fact-listener
- to-transient-session-event-messenger
- trace-by-type
- vec-ops
- vectorize-trace
precept.macros
Public variables and functions:
- add-ns-if-special-form
- attr-only?
- binding?!
- cache-binding!
- define
- defquery
- defsub
- existing-binding?
- existing-session-def
- fact-binding-with-type-only
- find-gen-in-lhs
- generate-rules
- get-rule-defs
- has-accumulator?
- merge-default-options
- mk-parse-cache
- options-map
- parse-as-tuple
- parse-sexpr
- parse-sub-rhs
- parse-with-accumulator
- parse-with-fact-expression
- parse-with-op
- parsed-sexpr?
- positional-value
- precept->clara-options
- precept-options-keys
- replace-at-index
- rewrite-expr
- rewrite-lhs
- rule
- session
- session*
- sexpr?
- sexprs-with-bindings
- sources-list
- special-form?
- special-forms
- store-session-def-in-compiler!
- test-expr?
- trace
- value-expr?
- variable-bindings
precept.repl
Public variables and functions:
- all-compiled-rules
- get-attributes
- get-entity
- get-sub
- impl-namespace?
- list-subs
- ns-name-intern-pairs
- recreate-session-state!
- redef-session!
- redef-session-cljs!
- reload-session!
- reload-session-cljs!
- remove-production!
- remove-stale-productions!
- remove-stale-runtime-rule-defs!
- unmap-all-rules!
- without-impl-ns-rules
precept.util
Public variables and functions:
- add-to-unique-index!
- any-Tuple?
- check-unique-conflict
- clara-tups->maps
- conflicting-logical-fact-error
- conform-insertions-and-retractions!
- dissoc-in
- entity-map->Tuples
- entity-Tuples->entity-maps
- fact-index-path
- fact-index-paths
- find-sub-by-name
- gen-Tuples-from-map
- get-index-of
- guid
- insert
- insert!
- insert-unconditional!
- insertable
- key-by
- make-activation-group-fn
- make-activation-group-sort-fn
- make-ancestors-fn
- map->tuples
- map-of-refs?
- next-fact-id!
- record->map
- record->vec
- remove-fact-from-index!
- remove-from-fact-index!
- remove-rulegen-facts
- reset-fact-id!
- retract
- retract!
- rulegen-fact-nses
- rulegen-fact?
- rules-in-ns
- schema-enforcement-dto
- split-head-body
- third
- trace
- tuple-entity->hash-map-entity
- Tuples->maps
- tuplize-into-vec
- unknown-ancestry-error
- update-index!
- update-unique-index!
- upsert-fact-index!
- upsert-unique-index!
- vec->record