diff options
author | Simon Peyton Jones <simonpj@microsoft.com> | 2011-04-19 11:06:20 +0100 |
---|---|---|
committer | Simon Peyton Jones <simonpj@microsoft.com> | 2011-04-19 11:06:20 +0100 |
commit | fdf8656855d26105ff36bdd24d41827b05037b91 (patch) | |
tree | fbbaeb08132051cde17ec7c3020cb835b04b947e /ghc | |
parent | a52ff7619e8b7d74a9d933d922eeea49f580bca8 (diff) | |
download | haskell-fdf8656855d26105ff36bdd24d41827b05037b91.tar.gz |
This BIG PATCH contains most of the work for the New Coercion Representation
See the paper "Practical aspects of evidence based compilation in System FC"
* Coercion becomes a data type, distinct from Type
* Coercions become value-level things, rather than type-level things,
(although the value is zero bits wide, like the State token)
A consequence is that a coerion abstraction increases the arity by 1
(just like a dictionary abstraction)
* There is a new constructor in CoreExpr, namely Coercion, to inject
coercions into terms
Diffstat (limited to 'ghc')
-rw-r--r-- | ghc/GhciTags.hs | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/ghc/GhciTags.hs b/ghc/GhciTags.hs index c2e6973e18..fc5cf00e4b 100644 --- a/ghc/GhciTags.hs +++ b/ghc/GhciTags.hs @@ -101,10 +101,11 @@ listModuleTags m = do ] where - tyThing2TagKind (AnId _) = 'v' + tyThing2TagKind (AnId _) = 'v' tyThing2TagKind (ADataCon _) = 'd' - tyThing2TagKind (ATyCon _) = 't' - tyThing2TagKind (AClass _) = 'c' + tyThing2TagKind (ATyCon _) = 't' + tyThing2TagKind (AClass _) = 'c' + tyThing2TagKind (ACoAxiom _) = 'x' data TagInfo = TagInfo |