{-# LANGUAGE UndecidableInstances #-} {-# LANGUAGE TypeOperators #-} {-# LANGUAGE TypeFamilies #-} {-# LANGUAGE DataKinds #-} {-# LANGUAGE PolyKinds #-} {-# LANGUAGE CPP #-} module Html.CPP where import GHC.TypeLits #if __GLASGOW_HASKELL__ >= 802 type Sym = Symbol type List a = '[a] type EmptySym = "" type family AppSymbols xs where AppSymbols (x ': xs) = AppendSymbol x (AppSymbols xs) AppSymbols '[] = "" #else type Sym = [Symbol] type List a = a type EmptySym = '[] type AppSymbols xs = xs #endif