diff options
Diffstat (limited to 'luxc/src/lux/compiler/core.clj')
-rw-r--r-- | luxc/src/lux/compiler/core.clj | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/luxc/src/lux/compiler/core.clj b/luxc/src/lux/compiler/core.clj index f2fe09887..88da626bd 100644 --- a/luxc/src/lux/compiler/core.clj +++ b/luxc/src/lux/compiler/core.clj @@ -50,13 +50,16 @@ tag-groups &a-module/tag-groups :let [def-entries (->> defs (&/|map (fn [_def] - (|let [[?name ?alias [exported? ?def-type ?def-anns ?def-value]] _def] - (if (= "" ?alias) + (|let [[?name _definition] _def] + (|case _definition + (&/$Left [_dmodule _dname]) + (str ?name datum-separator _dmodule &/+name-separator+ _dname) + + (&/$Right [exported? ?def-type ?def-anns ?def-value]) (str ?name datum-separator (if exported? "1" "0") datum-separator (&&&type/serialize-type ?def-type) - datum-separator (&&&ann/serialize ?def-anns)) - (str ?name datum-separator ?alias))))) + datum-separator (&&&ann/serialize ?def-anns)))))) (&/|interpose entry-separator) (&/fold str "")) import-entries (->> imports |