Skip to content

Instantly share code, notes, and snippets.

Embed
What would you like to do?
What you can't do with lexical scoping.
(defn record-adjunct
"Records an adjunction performed by our rules."
[phrase adjunct]
(swap! adjunctions conj {:name name
:phrase phrase
:adjunct adjunct}))
(def fixed-trees
"A map from tree filenames to their fixed versions."
(into {} (for [[name tree] trees]
[name (fix-tree tree)])))
;; in fixed-trees, we call fix-tree which calls transformo
;; which calls fix-adjunctiono which calls record-adjunct
;; the rules of lexical scoping do not allow the symbol `name'
;; in record-adjunct to refer to the local in fixed-trees
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment