BTW, I don't think it should be limited to just passing a url to the helper program.
I'd do it something like this: dget module.name url_from_pragma Basically, the compiler shouldn't withhold info - tell the get program everything it might need, to keep it's options open in how to do it's job. If a url isn't given, the dget program is free to figure it out by some alternative means if it can, given the module name.
