... | ... | @@ -22,7 +22,7 @@ form `T1 :=: T2`. (`c :: T1 :=: T2`) is a proof that a term of type `T1` |
|
|
can be coerced to type `T2`.
|
|
|
Coercions are classified by a new sort of kind (with the form
|
|
|
`T1 :=: T2`). Most of the coercion construction and manipulation functions
|
|
|
are found in the `Coercion` module, [compiler/types/Coercion.hs](https://gitlab.haskell.org/ghc/ghc/blob/master/compiler/types/Coercion.hs).
|
|
|
are found in the `Coercion` module, [compiler/GHC/Core/Coercion.hs](https://gitlab.haskell.org/ghc/ghc/blob/master/compiler/GHC/Core/Coercion.hs).
|
|
|
|
|
|
|
|
|
Coercions appear in Core in the form of `Cast` expressions:
|
... | ... | |