fasterthanlime / shin

:warning: (def shin (dissoc clojurescript :jvm :google_closure)) (deprecated)
MIT License
35 stars 1 forks source link

Allow macros to be required/referred #16

Closed fasterthanlime closed 9 years ago

fasterthanlime commented 9 years ago

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.