diff --git a/src/pronouns/pages.clj b/src/pronouns/pages.clj index eb0253c..1992328 100644 --- a/src/pronouns/pages.clj +++ b/src/pronouns/pages.clj @@ -90,14 +90,14 @@ (take 5 inputs) (u/table-lookup inputs pronouns-table)))) -(defn make-link [pair] - (let [link (str "/" (s/join "/" (second pair))) - label (str (s/join "/" (first pair)))] +(defn make-link [abbrev row] + (let [link (str "/" (s/join "/" row)) + label (s/join "/" abbrev)] [:li [:a {:href link} label]])) (defn front [pronouns-table] (let [abbreviations (u/abbreviate (sort pronouns-table)) - links (map make-link abbreviations) + links (map (fn [entry] (make-link (first entry) (second entry))) abbreviations) title "Pronoun Island"] (html [:html diff --git a/src/pronouns/util.clj b/src/pronouns/util.clj index 1d4c09a..8327568 100644 --- a/src/pronouns/util.clj +++ b/src/pronouns/util.clj @@ -15,10 +15,10 @@ [query-key tabfile] (table-lookup query-key (slurp-tabfile tabfile))) -; given a row and its lexically-closest neighbors, -; determine the smallest abbreviation which is still -; distinct. (defn disambiguate + "given a row and its lexically-closest neighbors, + determine the smallest abbreviation which is still + distinct." [prev row next] (loop [n 1] (let [row-n (take n row)] @@ -28,10 +28,10 @@ (= row-n (take n next)) (recur (+ n 1)) :else row-n)))) -; given a list of pronoun rows, return a list of -; pairs, where the first item is the abbreviation -; and the second is the original pronoun row. (defn abbreviate + "given a list of pronoun rows, return a list of + pairs, where the first item is the abbreviation + and the second is the original pronoun row." [sorted-table] (loop [acc nil prev nil