first-class-patterns-0.3.2.5: First class patterns and pattern matching, using type families

LicenseBSD3
MaintainerBrent Yorgey <byorgey@cis.upenn.edu>
Stabilityexperimental
Portabilitynon-portable (see .cabal)
Safe HaskellNone
LanguageHaskell2010

Data.Pattern.Base.TypeList

Description

Type-level lists. These lists only describe the types, but contain no data. That is, they are phantom types.

Synopsis

Documentation

type family (a :: [Type]) :++: (b :: [Type]) :: [Type] infixr 9 Source #

Concatenation of lists. Instances:

type instance Nil     :++: xs = xs
type instance (h:*:t) :++: xs = h :*: (t :++: xs)
Instances
type ([] :: [Type]) :++: xs Source # 
Instance details

Defined in Data.Pattern.Base.TypeList

type ([] :: [Type]) :++: xs = xs
type (h ': t) :++: xs Source # 
Instance details

Defined in Data.Pattern.Base.TypeList

type (h ': t) :++: xs = h ': (t :++: xs)