Jesse Phillips wrote: > You can have the author release packaged libraries for developers > to use and the author should do this. So this begs the question of > what is the repository for?
It's so you have a variety of libraries available at once with minimal hassle when you are originally writing something. I really don't care about those libraries' implementation details. I just want it so when I type "import something.lib;" in my program it actually works. If something.lib's author wants to use other.thing, great, I just don't want to think about it anymore than I think about his private classes or functions. > Why is the tool going out to different URLs and downloading files > when you are supposed to use the pre-built lib? The second level of downloads is an implementation detail, aiming to provide the illusion of a pre-built lib when the author didn't actually provide one. The first level of downloads (the things you actually import in your own program) are there for your own convenience. It's supposed to make this huge ecosystem of third party libraries available with the same kind of ease you get with Phobos. You just write "import std.coolness;" and it works. No downloading anything, no adding things to the command line. I want third party modules to be equally available. But, just like you don't care if Phobos uses zlib 1.3.x internally or whatever, you shouldn't care if third party modules do either. Phobos comes with "batteries included"; so should everything else. > Having a standard way for which things are built, having easy > access to all relevant libraries, and knowing you can find most > of what you need in one place. Those are the reasons. We agree here. The difference is I'm only interested in the top most layer - the modules I import myself. I couldn't care less about what those other modules import. In my mind, they are just like private functions - not my problem.