-
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 & < "0.10.1"}
"ppxx" {>= "1.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.1.1.tar.gz"
checksum: [
"sha256=b758d0c68e1ef8419a1640a376b594c377bbb4cdc31f1cf011d5f4907dc4aab0"
"md5=c77c69e8e501cd539eab00cbd8b2d355"
]
}