diff options
| author | Iavor S. Diatchki <iavor.diatchki@gmail.com> | 2011-12-18 17:21:13 -0800 |
|---|---|---|
| committer | Iavor S. Diatchki <iavor.diatchki@gmail.com> | 2011-12-18 17:24:45 -0800 |
| commit | 7c2af5cb6454ef219e2b35bc24d80624be07d2de (patch) | |
| tree | 10e7c33455b58b35d1fc2d8d61b6c714c216dcb8 /compiler/codeGen | |
| parent | 826b75a9a4fc6e978a4cfa09d896a927c56cfb75 (diff) | |
| download | haskell-7c2af5cb6454ef219e2b35bc24d80624be07d2de.tar.gz | |
Extend GHC's type with a representation for type level literals.
Currently, we support only numeric literals but---hopefully---these
modifications should make it fairly easy to add other ones, if necessary.
Diffstat (limited to 'compiler/codeGen')
| -rw-r--r-- | compiler/codeGen/ClosureInfo.lhs | 7 | ||||
| -rw-r--r-- | compiler/codeGen/StgCmmClosure.hs | 6 |
2 files changed, 13 insertions, 0 deletions
diff --git a/compiler/codeGen/ClosureInfo.lhs b/compiler/codeGen/ClosureInfo.lhs index ac047edb89..682d76096b 100644 --- a/compiler/codeGen/ClosureInfo.lhs +++ b/compiler/codeGen/ClosureInfo.lhs @@ -1099,8 +1099,15 @@ getTyDescription ty FunTy _ res -> '-' : '>' : fun_result res TyConApp tycon _ -> getOccString tycon ForAllTy _ ty -> getTyDescription ty + LiteralTy n -> getTyLitDescription n } where fun_result (FunTy _ res) = '>' : fun_result res fun_result other = getTyDescription other + + +getTyLitDescription :: TyLit -> String +getTyLitDescription l = + case l of + NumberTyLit n -> show n \end{code} diff --git a/compiler/codeGen/StgCmmClosure.hs b/compiler/codeGen/StgCmmClosure.hs index 5c0741a65e..d40ff9e1e5 100644 --- a/compiler/codeGen/StgCmmClosure.hs +++ b/compiler/codeGen/StgCmmClosure.hs @@ -864,11 +864,17 @@ getTyDescription ty FunTy _ res -> '-' : '>' : fun_result res TyConApp tycon _ -> getOccString tycon ForAllTy _ ty -> getTyDescription ty + LiteralTy n -> getTyLitDescription n } where fun_result (FunTy _ res) = '>' : fun_result res fun_result other = getTyDescription other +getTyLitDescription :: TyLit -> String +getTyLitDescription l = + case l of + NumberTyLit n -> show n + -------------------------------------- -- CmmInfoTable-related things -------------------------------------- |
