module Data.Connection.Optic.Int ( -- * Int8 i08w08 , i08w08' , i08i16 , i08i32 , i08i64 -- * Int16 , i16w16 , i16w16' , i16i32 , i16i64 -- * Int32 , i32w32 , i32w32' , i32i64 -- * Int64 , i64w64 , i64w64' -- * Integer , intnat ) where import Data.Int import Data.Word import Data.Profunctor.Optic.Import import Data.Profunctor.Optic.Grate import Numeric.Natural import qualified Data.Connection.Int as I i08w08 :: Grate' Int8 Word8 i08w08 = connected I.i08w08 i08w08' :: Grate' Int8 Word8 i08w08' = connected I.i08w08' -- >>> (127 :: Int8) + 3 -- -126 -- >>> zipWithOf i08i16 (+) 127 3 -- 127 i08i16 :: Grate' Int8 Int16 i08i16 = connected I.i08i16 i08i32 :: Grate' Int8 Int32 i08i32 = connected I.i08i32 i08i64 :: Grate' Int8 Int64 i08i64 = connected I.i08i64 i16w16 :: Grate' Int16 Word16 i16w16 = connected I.i16w16 i16w16' :: Grate' Int16 Word16 i16w16' = connected I.i16w16' i16i32 :: Grate' Int16 Int32 i16i32 = connected I.i16i32 i16i64 :: Grate' Int16 Int64 i16i64 = connected I.i16i64 i32w32 :: Grate' Int32 Word32 i32w32 = connected I.i32w32 i32w32' :: Grate' Int32 Word32 i32w32' = connected I.i32w32' i32i64 :: Grate' Int32 Int64 i32i64 = connected I.i32i64 i64w64 :: Grate' Int64 Word64 i64w64 = connected I.i64w64 i64w64' :: Grate' Int64 Word64 i64w64' = connected I.i64w64' intnat :: Grate' Integer Natural intnat = connected I.intnat