             [babel.encyclopedia :as encyc]
             [clojure.java.io :refer [resource]]
             [clojure.repl :refer [doc]]
+            [clojure.tools.logging :as log]
             [dag_unify.core :refer [fail? get-in strip-refs unifyc]]))
 
 (defn edn2lexicon [resource]


(defn get-spec [base-spec]
  "return a spec that is more specific than base-spec, specific enough to conjugate."
  (unifyc
   base-spec
   (or (and (get-in base-spec [:synsem :sem :tense])
            base-spec)
       {:synsem {:sem (first (shuffle tenses))}})
   (or (and (get-in base-spec [:synsem :subj :pred])
            base-spec)
       {:synsem {:sem {:subj {:pred (first (shuffle subjects))}}}})
   (or (and (get-in base-spec [:root])

  "choose a random spec based on the given curriculum and model"
  ;; for now, stubbed out: imagine a curriculum narrowly based on a single verb and
  ;; the imperfect tense.
  (let [spec-from-curriculum (intersection spec curriculum model)]
    (get-spec spec-from-curriculum)))
  
(def curriculum
  {:nouns ["lui" "lei"]
