On 12/7/06, Aaron Tomb <[EMAIL PROTECTED]> wrote:
In Simon's proposed design, the HsType data type, for instance, is
shared between Haskell and External Core, which makes sense because
the two languages have a very similar type structure. However, since
they have very different term structures, there would be distinct
HsExpr and ExtCoreExpr data types.

Really? Simon wrote:
* Dump the ExternalCore datatype entirely, or at least move it to
a reference implementation in a completely separate Darcs project.
(The reference impl could read the module, perform a no-op
transformation, and print it out again.)  The data type makes sense as
a way to define what ExtCore is, but it does not make sense as part of
GHC's implementation thereof, I think.

* Use HsSyn for the output side, so that (parse (print p)) is the
identity.  That means that MkExternalCore would generate HsSyn; and
PprExternalCore would print the appropriate subset of HsSyn in ExtCore
syntax.<<<

That sounds to me as if under that scenario, there wouldn't be a
distinct ExtCore datatype, and both Core expressions and Core types
would be represented as HsExprs and HsTypes respectively, but maybe
I'm misreading.

Cheers,
Kirsten

--
Kirsten Chevalier* [EMAIL PROTECTED] *Often in error, never in doubt
"[Teaching children to read] will make America what we want it to be, a
literate country and a hopefuller country." -- George W. Bush

_______________________________________________
Cvs-ghc mailing list
[EMAIL PROTECTED]
http://www.haskell.org/mailman/listinfo/cvs-ghc

Reply via email to