janestreet/accessor

A library that makes it nicer to work with nested functional data structures

OCaml

62

43 commits

updated Jul 10, 2026

See the code

README


The ~Accessor~ library makes it nicer to work with nested functional data
structures.

An accessor is a value that understands how to reach data within a
larger data structure, independently from what you intend to do with
it. Accessors allow you to read and write data and perform
possibly-monadic traversals. By composing accessors, you can work with
increasingly complex data structures.

In case you have ever heard of "lenses", this is an OCaml
implementation of that idea.

See the [[./doc/tutorial.mdx][tutorial]] for more information.

Not written in Markdown, so it's shown here as plain text — view it formatted on GitHub.

Contributors

public-release

20 commits

aalekseyev

13 commits

xclerc

9 commits

staronj

1 commits

janestreet/accessor

A library that makes it nicer to work with nested functional data structures

OCaml

62

43 commits

updated Jul 10, 2026

See the code

README


The ~Accessor~ library makes it nicer to work with nested functional data
structures.

An accessor is a value that understands how to reach data within a
larger data structure, independently from what you intend to do with
it. Accessors allow you to read and write data and perform
possibly-monadic traversals. By composing accessors, you can work with
increasingly complex data structures.

In case you have ever heard of "lenses", this is an OCaml
implementation of that idea.

See the [[./doc/tutorial.mdx][tutorial]] for more information.

Not written in Markdown, so it's shown here as plain text — view it formatted on GitHub.

Contributors

public-release

20 commits

aalekseyev

13 commits

xclerc

9 commits

staronj

1 commits

Languages

OCaml

99.8%