-
Notifications
You must be signed in to change notification settings - Fork 1.1k
/
opam
51 lines (47 loc) · 1.67 KB
/
opam
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
opam-version: "2.0"
authors: "Jun Furuse"
maintainer: "jun.furuse@gmail.com"
homepage: "https://bitbucket.org/camlspotter/ppx_poly_record"
bug-reports: "https://bitbucket.org/camlspotter/ppx_poly_record/issues?status=new&status=open"
dev-repo: "hg+https://bitbucket.org/camlspotter/ppx_poly_record"
build: [
[ "ocaml" "setup.ml" "-configure" "--prefix" prefix ]
[ "ocaml" "setup.ml" "-build" ]
]
install: [
[ "ocaml" "setup.ml" "-install" ]
]
remove: [
[ "ocaml" "setup.ml" "-configure" "--prefix" prefix ]
[ "ocaml" "setup.ml" "-uninstall" ]
]
depends: [
"ocaml" {>= "4.03.0"}
"ocamlfind" {build}
"omake" {build}
"ppxx" {>= "2.2.0" & < "2.3.0"}
]
synopsis: "ppx for polymorphic records"
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:
```ocaml
# [%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."""
url {
src:
"https://github.com/ocaml/opam-source-archives/raw/main/ppx_poly_record-1.2.1.tar.gz"
checksum: [
"sha256=52cf3893ae948c07a47d888b9bf813715293ca5e0541315361f81cd9617c68ea"
"md5=9a5b0c232de9ce77da23089054f83633"
]
}