{-# OPTIONS_GHC -fno-warn-orphans #-}
{-# LANGUAGE TemplateHaskell #-}
{-# LANGUAGE FlexibleInstances #-}
{-# LANGUAGE ScopedTypeVariables #-}
module Database.Relational.TupleInstances where
import Control.Applicative ((<$>))
import Database.Record (PersistableWidth)
import Database.Relational.Pi (Pi)
import Database.Relational.InternalTH.Base
(defineTuplePi, defineTupleShowLiteralInstance,)
$(concat <$> mapM defineTuplePi [2..7])
$(concat <$> mapM defineTupleShowLiteralInstance [2..7])
fst' :: (PersistableWidth a, PersistableWidth b) => Pi (a, b) a
fst' = tuplePi2_0'
snd' :: (PersistableWidth a, PersistableWidth b) => Pi (a, b) b
snd' = tuplePi2_1'