package ppx_sexp_conv
Install
Dune Dependency
Authors
Maintainers
Sources
sha256=f6d72c78661cbfe3cd087477fd27cd479502af80d648580a14286987ca3108e7
md5=272bbaf655aa6dd9769144c283020dfe
CHANGES.md.html
113.43.00
Fix generator for polymorphic types where var names clashes with type name:
type 't t = ...
113.33.00
Clean up the documentation for sexplib, modernizing it to include
ppx_sexp_conv
, and breaking up the documentation between sexplib andppx_sexp_conv
. Also changed the formatting to use org-mode, so it will render properly on github. Markdown doesn't render well by default, unless you use quite different conventions about linebeaks.
113.24.00
Trying to improve the tests in ppx_sexp_conv because they are a mess. At least all tests are automatic now. And more things are tested like the sexpification of exceptions.
Update to follow
Type_conv
andPpx_core
evolution.Make ppx_sexp_conv correctly handle aliases to polymorphic variants:
type t =
type u = t
@@deriving sexptype v =
u |B
@@deriving sexp
Before,
v_of_sexp
would never manage to readB. This problem is now fixed if you use
sexp_polyon
uinstead of
sexp, and if you don't, you get an "unbound value __u_of_sexp__". People should use
sexp_polywhen they have a polymorphic variant type that is not syntactically a polymorphic variant, but in practice it's simpler to replace
sexpby
sexp_poly` when faced with the error above.The need for
sexp_poly
should happen only in one new case: an implementation saystype u = t
@@deriving sexpbut the interface says `type u =
A. (the old case where it was already needed is when you have an interface that says `type u = t `@@deriving sexp
and in some other implementation you try to saytype t =
That_module.t |A
`@@deriving sexp``).