Legend:
Library
Module
Module type
Parameter
Class
Class type
Library
Module
Module type
Parameter
Class
Class type
val fst :
('i ->
'a ->
'b,
'i ->
('a * 'c) ->
'b * 'c,
[< Accessor_base__.Import.field ])
Accessor.t
Access the first component of a tuple.
val snd :
('i ->
'a ->
'b,
'i ->
('c * 'a) ->
'c * 'b,
[< Accessor_base__.Import.field ])
Accessor.t
Access the second component of a tuple.
fsti
and sndi
are like fst
and snd
, but they also treat the untargetted component as an index. For example, if you use sndi
on x, y
, y
is what you are accessing, and x
will be given to you as an index.
val fsti :
(('i * 'it) ->
'a ->
'b,
'it ->
('a * 'i) ->
'b * 'i,
[< Accessor_base__.Import.field ])
Accessor.t
val sndi :
(('i * 'it) ->
'a ->
'b,
'it ->
('i * 'a) ->
'i * 'b,
[< Accessor_base__.Import.field ])
Accessor.t
val swap :
('i ->
('a * 'b) ->
'c * 'd,
'i ->
('b * 'a) ->
'd * 'c,
[< Accessor_base__.Import.isomorphism ])
Accessor.t
Access a tuple where the components are swapped with each other.
assocl
and assocr
reassociate nested tuples.
val assocl :
('i ->
(('a * 'b) * 'c) ->
('d * 'e) * 'f,
'i ->
('a * ('b * 'c)) ->
'd * ('e * 'f),
[< Accessor_base__.Import.isomorphism ])
Accessor.t
val assocr :
('i ->
('a * ('b * 'c)) ->
'd * ('e * 'f),
'i ->
(('a * 'b) * 'c) ->
('d * 'e) * 'f,
[< Accessor_base__.Import.isomorphism ])
Accessor.t
val each :
('i ->
'a ->
'b,
'i ->
('a * 'a) ->
'b * 'b,
[< Accessor_base__.Import.nonempty ])
Accessor.t
Access both components of a tuple.
module Fst : Accessor.Functor.S2 with type ('fst, 'snd) t := 'fst * 'snd
module Snd : Accessor.Functor.S2 with type ('snd, 'fst) t := 'fst * 'snd