File: README

package info (click to toggle)
yojson 1.0.3-1
  • links: PTS, VCS
  • area: main
  • in suites: wheezy
  • size: 252 kB
  • sloc: ml: 1,957; makefile: 208
file content (35 lines) | stat: -rw-r--r-- 1,208 bytes parent folder | download
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
Design goals:

- reducing inter-package dependencies by the use of polymorphic
  variants for the JSON tree type

- allowing variants of the JSON tree type to be shipped by the library
  itself or to be easily created as extensions of the library

- allowing type-aware serializers/deserializers such as json-static
  to read and write directly without going through a JSON tree,
  for efficiency purposes.
  This requires making readers and writers of JSON atoms (int, string,
  etc.) to be exported and composable.

- providing a few non-standard, optional extensions of JSON.
  These extensions will include:
  * optional quotes around "simple" field/constructor names
  * a syntax for tuples (at least 2 elements): (x, y)
  * a syntax for variants (0 or 1 arg only): <Foo> <Bar:"abc">


Other choices already in json-wheel:

- distinction between ints and floats (optional)

- Getting rid of the UTF-X encoding constraint that prevents from
  exchanging binary data:
  * encoding is ASCII except for the contents of string literals
  * string literals may represent arbitrary sequence of bytes
  * \uABCD escapes in string literals expand to UTF-8


Miscellaneous:

- no dependency on ocamlnet for UTF-8