It's true that to use External Core in GHC as it stands, you need
IfaceType, and a number of other modules. However, an interesting
aspect of the current External Core is that the ExternalCore module
is only used for _output_. Input goes through IfaceType and
IfaceBndr. So there isn't really an External Core "library". Input
and output are totally distinct. The changes I'm working on replace
IfaceBndr with the Vdefg type from the ExternalCore module.
I think that the original design was the allow a standalone External
Core reference implementation to exist, as one way to describe its
semantics. I believe that, for this tool (which still exists in the
GHC repository) they wanted to share some code with GHC, while not
requiring all of the guts of GHC to be included.
Personally, though, I agree with you. I don't see any reason at this
point to limit the dependencies of the ExternalCore module. It seems
to me that a revised reference implementation could use the GHC as a
library, and still be small and simple enough to serve as a nice
definition of the language.
However, I thought it possible that I might be missing something, and
that there could be other reasons for avoiding dependencies in
ExternalCore, so I asked.
Aaron
On Dec 4, 2006, at 9:39 AM, Kirsten Chevalier wrote:
I'm a little confused here. I can understand the desire to minimize
the amount of code from GHC that External Core requires, but you said
that the External Core parser uses IfaceType as it is; so, whether or
not ExternalCore.lhs imports anything from GHC, anyone using the
External Core library is still going to be using the parser, right? If
the parser imports IfaceType already, what's the problem with
ExternalCore importing it too? That seems like the simplest solution
to me.
Cheers,
Kirsten
--
Kirsten Chevalier* [EMAIL PROTECTED] *Often in error,
never in doubt
"What doesn't kill you, makes you stronger -- or puts you on a talk
show."
--Carrie Fisher
_______________________________________________
Cvs-ghc mailing list
[EMAIL PROTECTED]
http://www.haskell.org/mailman/listinfo/cvs-ghc
_______________________________________________
Cvs-ghc mailing list
[EMAIL PROTECTED]
http://www.haskell.org/mailman/listinfo/cvs-ghc