package records
All checked builds passInstall
dune-project
Dependency
Authors
Maintainers
Sources
md5=868f4724df008cc9f8302492446201ac
sha512=b8da2f37effab90c904dfa64b37d7537ee16bf88572e2dc81a67b4c5303a550cc78d2231ce690b42353771d9b6ff261b2019e5a6ed3da8949ab05fcf076bb904
Description
This library enables you to define and manipulate dynamic records in OCaml.
README
Dynamic records
This library enables you to define and manipulate dynamic records in OCaml.
Example
Let us define a "point" record with three integer fields: x, y and z.
First, declare a new record layout.
module Point = (val Record.Safe.declare "point")Second, define the fields. They have the type (int, Point.s) field (Point.s is a phantom type that guarantees type safety).
let x = Point.field "x" Record.Type.int
let y = Point.field "y" Record.Type.int
let z = Point.field "z" Record.Type.intThird, "seal" this record structure. This prevents it from being further modified. Structures must be sealed before they can be used.
let () = Point.seal ()At this point, you have a working record structure. The next step is to create actual records. They have the type Point.s Record.t and are created using Point.make. Initially their fields have no value.
let _ =
let p = Point.make () in
Record.set p x 3;
Record.set p y 4;
Record.set p z 5;
Record.format Format.std_formatter pThe last line outputs:
{"x":3,"y":4,"z":5}Licensing
This library is available under the 2-clause BSD license. See COPYING for more information.
Dev Dependencies (1)
-
ounit
with-test & >= "2.0.0"
Optional Dependencies
None
Used by
None
Conflicts
None
Build status
Results of building records with each compiler on check.ci.ocaml.org, run of against opam-repository 8a77e58. All results for this package.
Each result links to its build log. To keep crawlers from overloading the site, build logs require a GitHub sign-in (see ocurrent/opam-health-check). On your first log, GitHub asks you to “Authorize opam-health-check”, the OCurrent app that runs these checks; it sees only your public profile, not your repositories. The sign-in lasts 30 days.
| Version | OCaml 4.11 | OCaml 4.14 | OCaml 5.2 | OCaml 5.4 | OCaml 5.5 |
|---|---|---|---|---|---|
| 1.0.0 (this version) | good | good | good | good | good |
- good Package successfully built
- partial One of the dependencies failed to build
- bad Package failed to build
- n/a Package is not available in this environment
- internal Internal failure