Recursively apply unifications to find the single best rule
This commit is contained in:
parent
3bc419acb0
commit
2588080655
1 changed files with 6 additions and 1 deletions
|
@ -34,7 +34,12 @@
|
|||
(check-form expr all-rules))
|
||||
([expr rules]
|
||||
(when (sequential? expr)
|
||||
(some #(unify expr %) rules))))
|
||||
(loop [expr expr
|
||||
alt-map nil]
|
||||
(if-let [new-alt-map (some #(unify expr %) rules)]
|
||||
(recur (:alt new-alt-map)
|
||||
new-alt-map)
|
||||
alt-map)))))
|
||||
|
||||
(defn expr-seq [expr]
|
||||
(tree-seq sequential?
|
||||
|
|
Loading…
Reference in a new issue