{-# LANGUAGE RankNTypes #-} {-# LANGUAGE TemplateHaskell #-} {-# LANGUAGE KindSignatures #-} {-# LANGUAGE ScopedTypeVariables #-} {-# LANGUAGE FlexibleInstances #-} module Data.Type.Internal.Instances where import qualified Data.Bool import qualified Data.Char import qualified Data.Int import qualified Data.Word import qualified Data.Complex import qualified Data.Ratio import qualified Data.Maybe import qualified Data.Either import qualified Data.List import qualified Data.Set import qualified Data.Tree import qualified Data.Map import qualified Data.IntMap import qualified Data.IntSet import qualified Data.IORef import qualified Control.Concurrent.MVar import qualified System.IO import Data.Type.Kind import Data.Type.Internal.Framework import Data.Type.Internal.TH import Data.Type.Internal.Derive import Data.Type.Internal.Body as Data.Type declareMeta (ArrowK StarK $ ArrowK StarK StarK) ''(->) deriveMeta ''() deriveMeta ''Integer deriveMeta ''Float deriveMeta ''Double deriveMeta ''Data.Bool.Bool deriveMeta ''Data.Char.Char deriveMeta ''Data.Int.Int deriveMeta ''Data.Int.Int8 deriveMeta ''Data.Int.Int16 deriveMeta ''Data.Int.Int32 deriveMeta ''Data.Int.Int64 deriveMeta ''Data.Word.Word deriveMeta ''Data.Word.Word8 deriveMeta ''Data.Word.Word16 deriveMeta ''Data.Word.Word32 deriveMeta ''Data.Word.Word64 deriveMeta ''Data.Complex.Complex deriveMeta ''Data.Ratio.Ratio deriveMeta ''Data.Maybe.Maybe deriveMeta ''Data.Either.Either deriveMeta ''[] deriveMeta ''Data.IORef.IORef deriveMeta ''System.IO.IO deriveMeta ''Control.Concurrent.MVar.MVar deriveMeta ''Data.Set.Set deriveMeta ''Data.Tree.Tree deriveMeta ''Data.Map.Map deriveMeta ''Data.IntMap.IntMap deriveMeta ''Data.IntSet.IntSet declareTupleInstances