{-# LANGUAGE TypeFamilies, TemplateHaskell, PolyKinds #-}

{- |

Module      :  Type.Spine
Copyright   :  (c) The University of Kansas 2011
License     :  BSD3

Maintainer  :  nicolas.frisby@gmail.com
Stability   :  experimental
Portability :  see LANGUAGE pragmas (... GHC)

The spine-view on types.

-}
module Type.Spine (Spine, Atom, (:@), spineType_d, spineType_d_, spineType_pro, spineType_pro_) where

import Type.Spine.Base



fmap concat $ mapM spineType_d
  [''Bool, ''Char, ''Double, ''Float, ''Int, ''Integer, ''Ordering,
   ''(), ''(,), ''(,,), ''(,,,), ''(,,,,),
   ''IO, ''[], ''Maybe, ''(->), ''Either]