Skip to content

Instantly share code, notes, and snippets.

Created December 18, 2012 15:54
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save anonymous/4329191 to your computer and use it in GitHub Desktop.
Save anonymous/4329191 to your computer and use it in GitHub Desktop.
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