Skip to content

Commit 98cfaaf

Browse files
mjambonclaude
andcommitted
support-matrix: replace 'shared' with 'binary_serialization'
'shared' was specific to Biniou/OCaml and is no longer supported. Replace it with 'binary_serialization' (Biniou format), supported only by atdgen. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
1 parent 78a3998 commit 98cfaaf

File tree

2 files changed

+15
-23
lines changed

2 files changed

+15
-23
lines changed

doc/support-matrix.rst

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -151,16 +151,14 @@ from module import type1, type2
151151

152152
**Not supported:** atdgen (OCaml)
153153

154-
Shared/cyclic types
155-
~~~~~~~~~~~~~~~~~~~
154+
Binary serialization
155+
~~~~~~~~~~~~~~~~~~~~
156156

157-
The shared type constructor for graphs
157+
Biniou format: faster than JSON, field/constructor names encoded as low-collision hashes
158158

159159
**Supported:** atdgen (OCaml)
160160

161-
**Not yet:** atdj (Java), atds (Scala), atdd (Dart), atdcpp (C++)
162-
163-
**Not supported:** atdml (OCaml), atdpy (Python), atdts (TypeScript)
161+
**Not supported:** atdml (OCaml), atdpy (Python), atdts (TypeScript), atdj (Java), atds (Scala), atdd (Dart), atdcpp (C++)
164162

165163
Open enumerations
166164
~~~~~~~~~~~~~~~~~

internal/src/main.ml

Lines changed: 11 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -26,9 +26,9 @@ type lang_support = {
2626
json_variant_names: support;
2727
json_repr_object: support;
2828
json_adapter: support;
29-
imports: support;
30-
shared: support;
31-
open_enums: support;
29+
imports: support;
30+
binary_serialization: support;
31+
open_enums: support;
3232
}
3333

3434
(* A feature has a display name, a short description, and an accessor into
@@ -62,9 +62,9 @@ let features : feature list = [
6262
{ name = "JSON variant names"; description = "<json name=\"...\"> on sum type constructors"; get = fun s -> s.json_variant_names };
6363
{ name = "Assoc as JSON object"; description = "(string * v) list <json repr=\"object\">"; get = fun s -> s.json_repr_object };
6464
{ name = "JSON adapter"; description = "Custom pre/post-processing hooks"; get = fun s -> s.json_adapter };
65-
{ name = "Cross-file imports"; description = "from module import type1, type2"; get = fun s -> s.imports };
66-
{ name = "Shared/cyclic types"; description = "The shared type constructor for graphs"; get = fun s -> s.shared };
67-
{ name = "Open enumerations"; description = "Unknown variants round-tripped as-is"; get = fun s -> s.open_enums };
65+
{ name = "Cross-file imports"; description = "from module import type1, type2"; get = fun s -> s.imports };
66+
{ name = "Binary serialization"; description = "Biniou format: faster than JSON, field/constructor names encoded as low-collision hashes"; get = fun s -> s.binary_serialization };
67+
{ name = "Open enumerations"; description = "Unknown variants round-tripped as-is"; get = fun s -> s.open_enums };
6868
]
6969

7070
(* Baseline: every feature supported. Each language starts from this and
@@ -88,62 +88,56 @@ let all_yes = {
8888
json_variant_names = Yes;
8989
json_repr_object = Yes;
9090
json_adapter = Yes;
91-
imports = Yes;
92-
shared = Yes;
93-
open_enums = Yes;
91+
imports = Yes;
92+
binary_serialization = No;
93+
open_enums = Yes;
9494
}
9595

9696
(* The data. Each entry is (display name, support record). Column order in
9797
the output matches the order here. *)
9898
let languages : (string * lang_support) list = [
9999
"atdml (OCaml)", { all_yes with
100-
shared = No;
101100
open_enums = No;
102101
};
103102
"atdgen (OCaml)", { all_yes with
104-
imports = No;
103+
imports = No;
104+
binary_serialization = Yes;
105105
};
106106
"atdpy (Python)", { all_yes with
107107
wrap = Planned;
108108
json_adapter = Planned;
109-
shared = No;
110109
open_enums = Planned;
111110
};
112111
"atdts (TypeScript)", { all_yes with
113112
json_adapter = Planned;
114-
shared = No;
115113
open_enums = Planned;
116114
};
117115
"atdj (Java)", { all_yes with
118116
wrap = Planned;
119117
json_repr_object = Planned;
120118
json_adapter = Planned;
121119
imports = Planned;
122-
shared = Planned;
123120
open_enums = Planned;
124121
};
125122
"atds (Scala)", { all_yes with
126123
wrap = Planned;
127124
json_repr_object = Planned;
128125
json_adapter = Planned;
129126
imports = Planned;
130-
shared = Planned;
131127
open_enums = Planned;
132128
};
133129
"atdd (Dart)", { all_yes with
134130
doc_comments = Planned;
135131
json_repr_object = Planned;
136132
json_adapter = Planned;
137133
imports = Planned;
138-
shared = Planned;
139134
open_enums = Planned;
140135
};
141136
"atdcpp (C++)", { all_yes with
142137
doc_comments = Planned;
143138
json_repr_object = Planned;
144139
json_adapter = Planned;
145140
imports = Planned;
146-
shared = Planned;
147141
open_enums = Planned;
148142
};
149143
]

0 commit comments

Comments
 (0)