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

{- |

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

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

Type-level serialization for the basic types: Bool, Char, Either, etc.

-}
module Type.Serialize (module Type.Serialize.Base) where

import Type.Serialize.Base
import Type.Spine
import Type.Digits


fmap concat $ mapM serializeTypeAsHash_data
  [''Bool, ''Char, ''Double, ''Float, ''Int, ''Integer, ''Ordering,
   ''(), ''(,), ''(,,), ''(,,,), ''(,,,,),
   ''IO, ''[], ''Maybe, ''(->), ''Either,
   ''(:@), ''Atom, ''Digit]

fmap concat $ mapM serializeTypeAsHash_pro $ digitStopName : digitNames