= 768" x-on:close-sidebar="sidebar=window.innerWidth >= 768 && true">
ppx for polymorphic records
Install
copied = false, 2000)"
:class="{ 'border-gray-700': !copied, 'text-gray-100': !copied, 'focus:ring-orange-500': !copied, 'focus:border-orange-500': !copied, 'border-green-600': copied, 'text-green-600': copied, 'focus:ring-green-500': copied, 'focus:border-green-500': copied }">
Authors
Maintainers
Sources
ppx_poly_record-1.2.1.tar.gz
md5=9a5b0c232de9ce77da23089054f83633
Description
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.
Published: 27 Aug 2017
On This Page