ppx_poly_recordversion

ppx for polymorphic records

Polymorphic record in OCaml

This ppx adds an extension point [%poly_record <exp>] for polymorphic record.

In side [%poly_record <exp>], the record syntax { l = e; .. }, { e with l = e'; .. }, r.l and r.l <- e become for polymorphic records whose type is _ Ppx_poly_record.Poly_record.t. The field information is encoded into OCaml's object type. For example:

# [%poly_record { x = 1; y = 1.0 }];;
- : < x : int; y : float > Ppx_poly_record.Poly_record.t = <abstr>

Implementation of _ PPx_poly_record.Poly_record.t is not by OCaml objects: it has no method table inside therefore safely serializable between different programs if its fields have no functional value.

AuthorJun Furuse
Published
Homepagehttps://bitbucket.org/camlspotter/ppx_poly_record
Issue Trackerhttps://bitbucket.org/camlspotter/ppx_poly_record/issues?status=new&status=open
Maintainerjun.furuse@gmail.com
Dependencies
Source [http] https://github.com/ocaml/opam-source-archives/raw/main/ppx_poly_record-1.2.1.tar.gz
sha256=52cf3893ae948c07a47d888b9bf813715293ca5e0541315361f81cd9617c68ea
md5=9a5b0c232de9ce77da23089054f83633
Edithttps://github.com/ocaml/opam-repository/tree/master/packages/ppx_poly_record/ppx_poly_record.1.2.1/opam
No package is dependent