first-class-patterns-0.3.2.2: 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 :++: b :: [*] infixr 9 Source

Concatenation of lists. Instances:

type instance Nil     :++: xs = xs
type instance (h:*:t) :++: xs = h :*: (t :++: xs)

Instances

type ([] *) :++: xs = xs 
type ((:) * h t) :++: xs = (:) * h ((:++:) t xs)