[GHC] #12239: Dependent type family does not reduce
GHC
ghc-devs at haskell.org
Sat Aug 20 07:15:52 UTC 2016
#12239: Dependent type family does not reduce
-------------------------------------+-------------------------------------
Reporter: int-index | Owner: goldfire
Type: bug | Status: new
Priority: high | Milestone: 8.2.1
Component: Compiler (Type | Version: 8.0.1
checker) | Keywords: TypeInType,
Resolution: | TypeFamilies
Operating System: Unknown/Multiple | Architecture:
Type of failure: GHC rejects | Unknown/Multiple
valid program | Test Case:
Blocked By: | Blocking:
Related Tickets: | Differential Rev(s):
Wiki Page: |
-------------------------------------+-------------------------------------
Comment (by int-index):
> Does this sound like something you might tackle?
Yes. Your explanation is very helpful.
> I'm sure bumps will come up along the road, but if you're feeling like
getting your hands dirty here, I can continue to advise.
Thank you. So, my understanding is that during type checking `ForAllTy`s
arise, but the `Kind`s in `TyVarBinder`s don't get flattened, hence the
error. However, once I added a `traceFlat` to the beginning of
`flatten_one` clause for `ForAllTy` it didn't show up in the compilation
logs (adding it in other clauses worked, so I assume that I added it
correctly). Therefore I conclude that control flow doesn't reach this part
of the code and no changes will affect the result of compilation.
(1) What other parts of code should be changed and how, before I can start
fixing `flatten_one` for `ForAllTy`?
(2) Where exactly those `ForAllTy` get inserted in the example code (in
the ticket description)?
--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/12239#comment:8>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
More information about the ghc-tickets
mailing list