| > 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:
Well what I wrote was this: | * Add a new sort of binding to the data type HsBind, something like | data HsBind id = ... | CoreBind id (ExtCore id) | | Here ExtCore is basically the data type Exp in the ExternalCore module, but parameterised over the | type of identifiers. So we have | data ExtCore id = Var id | Dcon id | Lit Lit ... etc So yes, as Aaron says, I think you'd probably want a HsSyn datatype for External Core terms, as above and as Aaron suggests. They are typechecked differently than HsExpr, because all binders have an explicit type. It could be done as a subset of HsExpr, I think, but I'd be inclined to use a separate type. Simon _______________________________________________ Cvs-ghc mailing list [EMAIL PROTECTED] http://www.haskell.org/mailman/listinfo/cvs-ghc