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

Reply via email to