package diff
Page
Library
Module
Module type
Parameter
Class
Class type
Source
Module Diff.Field
Source
This module contains what might be described as faux lenses. This includes support for composition, getting, setting, etc.
An open type that represents a field on a record.
For example,
type t = {
x : int
}
would be described as X : (t, int) field
.
A polymorphic function that returns the field's value from the type.
A polymorphic function that returns the type with the field set to the value.
name f
returns the previously registered name for f
, if one exists.
cons l r
is a field that first indexes l
and then r
.
opt_map f
monadically binds f
into an optional field.
register ?name field getter setter
registers getter
and setter
(and optionally name
) to field
.
get v field
gets field
from v
, raising Diff_field error
on exception.
get_opt v field
gets field
from v
, returning None
on exception.
get_opt v field
gets field
from v
, returning Error (`Diff_field e)
on exception.
set v field x
sets field
in v
to x
, raising Diff_field error
on exception
set_opt v field x
sets field
in v
to x
, returning None
on exception