views:

304

answers:

3

Or do I have to specifically enumerate every class that I import?

I'm just learning Clojure now, and it seems useful to be able to do something like this in the REPL:

(import '(java.io *))

Not that this is valid syntax, but it would be nice to have something that does the equivalent. It would save some typing, especially when tinkering around. In actual production code I always enumerate each class that I'm importing, regardless of the language, but it's pretty convenient not to have to do so.

+1  A: 

Unless I missed an update, there is no way to wild card include packages into a namespace in Clojure currently.

Runevault
+1  A: 

There seems to be no ways of doing that currently. The import macro is only there to import the specified classes into the current namespace. I've tried to write another macro to do what you want, but it doesn't appear to be possible with the class loader used by Clojure as it doesn't let us access package resources.

Nicolas Buduroi
+6  A: 

Rich Hickey explains why it is not possible.

miaubiz
Bummer. I appreciate his thinking on why it's not a good idea, but I'd prefer not to have the language constrain me like that, particularly when playing around in the REPL.
Jeff