On 9/8/08, Tim Chevalier <[EMAIL PROTECTED]> wrote: > > Maybe I didn't state my point clearly, or maybe it was so obvious as > to be easily missed. An External Core file should be like a Haskell > source file at least in the sense that it doesn't depend on any > strange names that appear in .hi files for libraries but that might > not exist if your installed GHC had a set of libraries that was > compiled with different flags or with a different version of GHC. It > should be portable, in that so long as I have some installed version > of any libraries it depends on, I should be able to compile it in a > different environment than the one I generated under. I don't expect > that if I send my Haskell files to someone else, I'll have to include > sources for all the standard libraries as well. I also don't expect to > be able to ship .o files around arbitrarily, because that's not what > they're meant for, so while it's true that you would have the same > problem with object code, External Core isn't object code. >
Okay, let me rephrase this more succinctly. I think that the following would be a useful principle (even though it's not how things work right now): An External Core file that was generated by GHC cannot refer to any names defined in standard library files that I would not be allowed to refer to in a Haskell program. Further, I claim that External Core isn't useful as an implementation-independent format if it doesn't uphold this principle. Do you agree? -t -- Tim Chevalier * http://cs.pdx.edu/~tjc * Often in error, never in doubt Just enough: Obama/Biden '08. _______________________________________________ Cvs-ghc mailing list [email protected] http://www.haskell.org/mailman/listinfo/cvs-ghc
