Hi again,

Tillmann Rendel wrote:
  {-# LANGUAGE TypeFamilies #-}
  module D (ok) where
    import A
    import B

    data D client = D client

    type family Label client
    type instance A.Label (D client) = D.Label client
    type instance B.Label (D client) = D.Label client

    ok :: client -> [D.Label client]
    ok client = [ A.z (D client), B.z (D client)]

Oh, and note that I do not need UndecidableInstances here, because I match against the explicit module identity D.

  Tillmann
_______________________________________________
Haskell-Cafe mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/haskell-cafe

Reply via email to