Tutorial by Examples

Haskell Wiki has an example of a non-parametric parameter of a type function: type family Inspect x type instance Inspect Age = Int type instance Inspect Int = Bool Here x is non-parametric because to determine the outcome of applying Inspect to a type argument, the type function must insp...
An example of a parametric parameter of a type function: data List a = Nil | Cons a (List a) type family DoNotInspect x type instance DoNotInspect x = List x Here x is parametric because to determine the outcome of applying DoNotInspect to a type argument, the type function do not need to in...
A phantom type parameter has a phantom role. Phantom roles cannot be declared explicitly.

Page 1 of 1