At the moment I'm thinking of the load path as an array of subs that get passed in the file being looked for and return... something. I'm not sure what, though.
Filehandles, I think. The most common case is opening a file (or socket, or pipe, or other sort of file-like stream) and reading the module out of there, and we can always provide a fake "string as filehandle" PMC.
Alternately, if filehandles can be seen as iterators (and I think they can in Perl 6 at least), simply return an iterator that returns strings (i.e. Iterator of String). That should handle most common cases nicely, I think.
And I do think URIs aren't a horrible idea, although it doesn't matter since you disagree. Ah well...
-- Brent "Dax" Royal-Gordon <[EMAIL PROTECTED]> Perl and Parrot hacker
Oceania has always been at war with Eastasia.