On Fri, Sep 23, 2016 at 3:00 PM, Simon Peyton Jones
wrote:
> Interesting. Is this case also an example, or is it a non-feature?
>
>
>
> class C t where
>
> type K t :: Type
>
> type T t :: K t -> Type
>
>
>
> m :: t -> T t a
>
>
>
>
>
> Ah, that’s quite
Interesting. Is this case also an example, or is it a non-feature?
class C t where
type K t :: Type
type T t :: K t -> Type
m :: t -> T t a
Ah, that’s quite different! We should do strongly-connected-component analysis
of the associated-type declarations within a single class
On Fri, Sep 23, 2016 at 3:19 AM, Simon Peyton Jones
wrote:
> This is an example of https://ghc.haskell.org/trac/ghc/ticket/12088.
>
Interesting. Is this case also an example, or is it a non-feature?
class C t where
type K t :: Type
type T t :: K t -> Type
m
This is an example of https://ghc.haskell.org/trac/ghc/ticket/12088.
The “type instance T List” declaration actually depends on the “type instance K
List” declaration; the latter must be typechecked before the former. But this
dependency is absolutely unclear. There’s a long discussion on the