liquidhaskell-0.9.10.1: src/Foreign/Storable_LHAssumptions.hs
{-# OPTIONS_GHC -fplugin=LiquidHaskellBoot #-}
{-# OPTIONS_GHC -Wno-unused-imports #-}
module Foreign.Storable_LHAssumptions where
import GHC.Ptr_LHAssumptions()
import Foreign.Storable
{-@
predicate PValid P N = ((0 <= N) && (N < (plen P)))
assume GHC.Internal.Foreign.Storable.poke :: (GHC.Internal.Foreign.Storable.Storable a)
=> {v: (GHC.Internal.Ptr.Ptr a) | 0 < (plen v)}
-> a
-> (GHC.Types.IO ())
assume GHC.Internal.Foreign.Storable.peek :: (GHC.Internal.Foreign.Storable.Storable a)
=> p:{v: (GHC.Internal.Ptr.Ptr a) | 0 < (plen v)}
-> (GHC.Types.IO {v:a | v = (deref p)})
assume GHC.Internal.Foreign.Storable.peekByteOff :: (GHC.Internal.Foreign.Storable.Storable a)
=> forall b. p:(GHC.Internal.Ptr.Ptr b)
-> {v:GHC.Types.Int | (PValid p v)}
-> (GHC.Types.IO a)
assume GHC.Internal.Foreign.Storable.pokeByteOff :: (GHC.Internal.Foreign.Storable.Storable a)
=> forall b. p:(GHC.Internal.Ptr.Ptr b)
-> {v:GHC.Types.Int | (PValid p v)}
-> a
-> GHC.Types.IO ()
@-}