Open RickMoynihan opened 4 years ago
e.g. the following should be allowed:
(let [foo :a] (matcha/construct foo [[foo ?bar ?baz]]))
It should return :a if it exists as a resource in the database, otherwise nil.
:a
nil
However it raises a syntax error:
Syntax error macroexpanding clojure.core/let at (*cider-repl repos/muttnik:localhost:50215(clj)*:1010:45). nil - failed: simple-symbol? at: [:bindings :form :local-symbol] spec: :clojure.core.specs.alpha/local-name nil - failed: vector? at: [:bindings :form :seq-destructure] spec: :clojure.core.specs.alpha/seq-binding-form nil - failed: map? at: [:bindings :form :map-destructure] spec: :clojure.core.specs.alpha/map-bindings nil - failed: map? at: [:bindings :form :map-destructure] spec: :clojure.core.specs.alpha/map-special-binding
Note a workaround for this is:
(let [foo :a] (when (matcha/ask [[foo ?bar ?baz]] matcha-db) foo)
e.g. the following should be allowed:
It should return
:a
if it exists as a resource in the database, otherwisenil
.However it raises a syntax error: