liquidhaskell-0.8.0.2: include/Data/ByteString/Unsafe.spec
module spec Data.ByteString.Unsafe where
unsafeHead
:: { bs : Data.ByteString.ByteString | 1 <= bslen bs } -> Data.Word.Word8
unsafeTail
:: bs : { v : Data.ByteString.ByteString | bslen v > 0 }
-> { v : Data.ByteString.ByteString | bslen v = bslen bs - 1 }
unsafeInit
:: { bs : Data.ByteString.ByteString | 1 <= bslen bs } -> Data.Word.Word8
unsafeLast
:: { bs : Data.ByteString.ByteString | 1 <= bslen bs } -> Data.Word.Word8
unsafeIndex
:: bs : Data.ByteString.ByteString
-> { n : Int | 0 <= n && n < bslen bs }
-> Data.Word.Word8
assume unsafeTake
:: n : { n : Int | 0 <= n }
-> i : { i : Data.ByteString.ByteString | n <= bslen i }
-> { o : Data.ByteString.ByteString | bslen o == n }
assume unsafeDrop
:: n : { n : Int | 0 <= n }
-> i : { i : Data.ByteString.ByteString | n <= bslen i }
-> { o : Data.ByteString.ByteString | bslen o == bslen i - n }