Fork me on GitHub

some old function names and documentation in clojure.core use the word "lib" where you might otherwise expect "ns" -- is that just a historical usage that could be updated, or does it actually mean anything different?


Like the doc string for require, I guess? I don't know the answer to your question, though.


yeah; and e.g. loaded-libs

Alex Miller (Clojure team)22:11:39

It’s largely historical - some of the docs on the site are same


....but it's somewhat a different concept?


I think some of the docs seemed to discuss the idea of namespaces having associated resources on the classpath

Alex Miller (Clojure team)22:11:50

I think in general where that older stuff says lib we would now say namespace

Alex Miller (Clojure team)22:11:10

Namespaces are loaded from resources on the classpath

Alex Miller (Clojure team)22:11:21

So that still seems correct?


right but other files as well; maybe there's a function or two that could be used to do something like io/resource but where the path is relative to a namespace

Alex Miller (Clojure team)22:11:11

not sure I get what you’re after


just the idea that maybe "lib" was originally imagined to be "a source file plus maybe some other associated files"


> A 'lib' is a named set of resources in classpath whose contents define a library of Clojure code. that's probably where I got the idea from

Alex Miller (Clojure team)22:11:48

well that case seems to be more what we would now call a library


but this is in the docstring for require, which, according to the prior paragraph, "loads libs"


> All resources in a lib should be contained in the directory structure under its root directory.


but it sounds like this is mostly just in rich's head anymore, which is a good enough answer for me


Am I crazy or does clojure create a new classloader for every top-level form it compiles?


Those are two separate questions, right? 🙂


I used "or", so you can answer either question


it looks like the code was designed to only do that for eval calls but got changed to just do it everywhere


where do you see this?