Data.GI.Base.Overloading

Type level inheritance

type family ParentTypes a :: [*]

type family IsDescendantOf parent descendant :: Constraint

Looking up attributes in parent types

type family AttributeList a :: [(Symbol, *)]

type family ResolveAttribute s o :: *

type family HasAttribute attr o

class HasAttr attr o

Looking up signals in parent types

type family SignalList a :: [(Symbol, *)]

type family ResolveSignal s o :: *

type family HasSignal s o

Looking up methods in parent types

class MethodInfo i o s

data MethodProxy a

type family MethodResolutionFailed method o

Overloaded labels

class IsLabelProxy x a