package fieldslib
Install
Dune Dependency
Authors
Maintainers
Sources
sha256=984b1c8bb8e5202d9a367a6856627210943080f7f1d63c0a2913ef64fa2f1683
md5=7cb44f0fb396b6645fc9965ebb8e6741
CHANGES.md.html
113.00.00
Added
Fields.Direct.set_all_mutable_fields
, a function intended to guarantee when pooling records that one cannot forget to reinitialize some fields.Obviously one could achieve this through something like
Fields.Direct.iter
, but we want a more efficient version that doesn't force the call side to create closures.
109.19.00
Made
with fields
generate the same functions in theFields
andFields_of_*
modules whether the type is calledt
or not.
109.14.00
Made
with fields
expose first-class fields for private types while preserving privacy.There is now an additional phantom type in a first-class field that prevents building or modifying elements of a private type.
One consequence of this change is that the
Field.t
type is now an abstract type -- it used to be exposed as a record type. So, one must, e.g., changefield.Field.name
toField.name field
.
109.12.00
Added back
Fields.fold
towith fields
forprivate
types.We had removed
Fields.fold
forprivate
types, but this caused some pain. So we're putting it back. At some point, we'll patchwith fields
to prevent setting mutable fields on private types via the fields provided byfold
.
109.11.00
with fields
, for a typeu
that isn't namedt
, creates moduleFields_of_u
rather than moduleFields
. This allows one to uswith fields
on several types in the same structure.
109.10.00
Changed
with fields
onprivate
types to not expose mutators or creators.