Files
fieldglass/fieldglass.mli
T

12 lines
536 B
OCaml

type ('s, 't, 'a, 'b) lens = ('s -> 'a) * ('b -> 's -> 't)
type ('s, 'a) lens' = ('s, 's, 'a, 'a) lens
val lens : view:('s -> 'a) -> set:('b -> 's -> 't) -> ('s, 't, 'a, 'b) lens
val view : ('s, 't, 'a, 'b) lens -> 's -> 'a
val set : ('s, 't, 'a, 'b) lens -> 'b -> 's -> 't
val over : ('s, 't, 'a, 'b) lens -> f:('a -> 'b) -> 's -> 't
val compose : ('s, 't, 'a, 'b) lens -> ('a, 'b, 'c, 'd) lens -> ('s, 't, 'c, 'd) lens
val _1 : ('a * 'c, 'b * 'c, 'a, 'b) lens
val _2 : ('c * 'a, 'c * 'b, 'a, 'b) lens
val _id : ('a, 'b, 'a, 'b) lens