{-# LANGUAGE TemplateHaskell #-} {- | Module : Type.Digits.Stage1 Copyright : (c) The University of Kansas 2011 License : BSD3 Maintainer : nicolas.frisby@gmail.com Stability : experimental Portability : see LANGUAGE pragmas (... GHC) Type-level numerals built from type-level digits of an arbitrary radix. -} module Type.Digits.Stage1 where import Type.Digits.Aux (digitStrings) import Type.Digits.Stage0 import Type.Spine.TH (liftNameG_d) import Language.Haskell.TH digitNames :: [Name] digitNames = $(listE $ [ liftNameG_d n | n <- map mkName digitStrings ]) digitTypes :: [Type] digitTypes = map PromotedT digitNames digitStopName :: Name digitStopName = 'DigitStop digitStopType :: Type digitStopType = PromotedT digitStopName