- data OI a
- type :-> a b = OI a -> b
- iooi :: IO a -> a :-> a
- run :: (a :-> b) -> IO b
- (=:) :: a -> a :-> a
- (?) :: a :-> a
- (#) :: a -> OI a
- idA :: a :-> a
- (<.>) :: (b :-> c) -> (a :-> b) -> a :-> c
- arrA :: (a -> b) -> a :-> b
- firstA :: (a :-> b) -> (a, c) :-> (b, c)
- deTuple :: (a, b) :-> (OI a, OI b)
- deList :: [a] :-> Maybe (OI a, OI [a])
- (<|) :: (b -> c :-> d) -> (a :-> b) -> (a, c) :-> d
- mapOI :: (a :-> b) -> [a] :-> [b]
- mapOI' :: (a :-> b) -> [a] :-> (OI [a], [b])
- zipWithOI :: (a -> b :-> c) -> [a] -> [b] :-> [c]
- zipWithOI' :: (a -> b :-> c) -> [a] -> [b] :-> (OI [b], [c])
- sequenceOI :: [a :-> b] -> [a] :-> ()
- sequenceOI' :: [a :-> b] -> [a] :-> OI [a]
Data type
Converter an IO to an interaction function
Drive an interaction function
Primitive operators on the interaction data
Category class methods on (:->)
Arrow class methods on (:->)
Embeding interaction data in data structure
Interaction combinators
(<|) :: (b -> c :-> d) -> (a :-> b) -> (a, c) :-> dSource
Connect two interactions into an interaction
mapOI' :: (a :-> b) -> [a] :-> (OI [a], [b])Source
Map interaction function on an interaction list (return results and remainings)
zipWithOI' :: (a -> b :-> c) -> [a] -> [b] :-> (OI [b], [c])Source
Zip a list and an interaction list (return results and remainings)
sequenceOI :: [a :-> b] -> [a] :-> ()Source
Sequencing interaction functions
sequenceOI' :: [a :-> b] -> [a] :-> OI [a]Source
Sequencing interaction functions (return remainings)