apiary-0.4.2.0: Simple web framework inspired by scotty.

Safe HaskellNone
LanguageHaskell2010

Data.Apiary.SList

Documentation

data SList as where Source

Constructors

SNil :: SList [] 
(:::) :: a -> SList xs -> SList (a : xs) infixr 9 

Instances

All Show as => Show (SList as) 

type family Fn as r Source

Instances

type Fn ([] *) r = r 
type Fn ((:) * x xs) r = x -> Fn xs r 

type family Snoc as a :: [*] Source

Instances

type Snoc ([] *) a = (:) * a ([] *) 
type Snoc ((:) * x xs) a = (:) * x (Snoc xs a) 

type family All c as :: Constraint Source

Instances

type All c ([] *) = () 
type All c ((:) * a as) = (c a, All c as) 

apply :: Fn xs r -> SList xs -> r Source

sSnoc :: SList as -> a -> SList (Snoc as a) Source

type family Rev l a :: [*] Source

Instances

type Rev ([] *) a = a 
type Rev ((:) * x xs) a = Rev xs ((:) * x a) 

type Reverse a = Rev a [] Source