This poses some serious questions about the order in which things are done, and we need to support all the various forms of macro requirement, e.g. we could have stuff like:
(ns who.cares
(:require somelib.core :refer [oh what the hell] :refer-macros [now we are talking]))
Or the separate:
(ns who.cares
(:require somelib.core :refer [oh what the hell])
(:require-macros somelib.core :refer [now we are talking]))
Considering that somelib.core.cljs and somelib.core.clj are two separate Shin::Module instances as far as the compiler is concerned, I'm thinking that NsParser should split the former into the latter.
Also I guess #15 is a blocker for this. I'm pretty sure Requires should be objects, not hashes, so we can validate a few things or I'm gonna lose my hair prematurely.
This poses some serious questions about the order in which things are done, and we need to support all the various forms of macro requirement, e.g. we could have stuff like:
Or the separate:
Considering that
somelib.core.cljs
andsomelib.core.clj
are two separateShin::Module
instances as far as the compiler is concerned, I'm thinking thatNsParser
should split the former into the latter.Also I guess #15 is a blocker for this. I'm pretty sure Requires should be objects, not hashes, so we can validate a few things or I'm gonna lose my hair prematurely.