cpython-3.5.1: Bindings for libpython
Safe HaskellNone
LanguageHaskell2010

CPython.Protocols.Sequence

Synopsis

Documentation

class Object a => Sequence a where Source #

Instances

Instances details
Sequence SomeSequence Source # 
Instance details

Defined in CPython.Internal

Sequence Tuple Source # 
Instance details

Defined in CPython.Protocols.Sequence

Sequence List Source # 
Instance details

Defined in CPython.Protocols.Sequence

Sequence ByteArray Source # 
Instance details

Defined in CPython.Protocols.Sequence

Sequence Bytes Source # 
Instance details

Defined in CPython.Protocols.Sequence

Sequence Unicode Source # 
Instance details

Defined in CPython.Protocols.Sequence

castToSequence :: Object a => a -> IO (Maybe SomeSequence) Source #

Attempt to convert an object to a generic Sequence. If the object does not implement the sequence protocol, returns Nothing.

length :: Sequence self => self -> IO Integer Source #

append :: (Sequence a, Sequence b) => a -> b -> IO SomeSequence Source #

repeat :: Sequence a => a -> Integer -> IO a Source #

getItem :: Sequence self => self -> Integer -> IO SomeObject Source #

setItem :: (Sequence self, Object v) => self -> Integer -> v -> IO () Source #

deleteItem :: Sequence self => self -> Integer -> IO () Source #

setSlice :: (Sequence self, Object v) => self -> Integer -> Integer -> v -> IO () Source #

deleteSlice :: Sequence self => self -> Integer -> Integer -> IO () Source #

count :: (Sequence self, Object v) => self -> v -> IO Integer Source #

contains :: (Sequence self, Object v) => self -> v -> IO Bool Source #

index :: (Sequence self, Object v) => self -> v -> IO Integer Source #

Return the first index i for which self[i] == v. This is equivalent to the Python expression self.index(v).

toList :: Sequence seq => seq -> IO List Source #

Return a list object with the same contents as the arbitrary sequence seq. The returned list is guaranteed to be new.

toTuple :: Sequence seq => seq -> IO Tuple Source #

Return a tuple object with the same contents as the arbitrary sequence seq. If seq is already a tuple, it is re-used rather than copied.

fast :: Sequence seq => seq -> Text -> IO SomeSequence Source #

Returns the sequence seq as a tuple, unless it is already a tuple or list, in which case seq is returned. If an error occurs, throws TypeError with the given text as the exception text.

Orphan instances

Sequence Tuple Source # 
Instance details

Sequence List Source # 
Instance details

Sequence ByteArray Source # 
Instance details

Sequence Bytes Source # 
Instance details

Sequence Unicode Source # 
Instance details