https://gitlab.com/nomadic-labs/data-encoding/
- HEAD
- refs/heads/abate-versioned-gadt
- refs/heads/add-char-encoding
- refs/heads/add-encoding-for-Q
- refs/heads/add-lazy-seq-encoding
- refs/heads/backport-lazy-fix
- refs/heads/basic-benchmarks
- refs/heads/binary-lexeme-backend-for-coq
- refs/heads/codec-gen-design-doc
- refs/heads/compact-encodings-with-fixed-list
- refs/heads/data-encoding-V2
- refs/heads/data-encoding-V2--PBT
- refs/heads/data-encoding-V2--buffy-split
- refs/heads/data-encoding-V2--efficiency-through-partial-application
- refs/heads/data-encoding-V2--full-combinators-coverage
- refs/heads/data-encoding-V2--make-size-of-use-write
- refs/heads/data-encoding-V2--more-tests
- refs/heads/data-encoding-V2--parsing
- refs/heads/detect-recursive-encodings-in-internal-testing-functions-hhugo
- refs/heads/diane@v2_conv
- refs/heads/doc-fix
- refs/heads/expose-binary-reader-state
- refs/heads/hh-v1-v2
- refs/heads/hhugo-better-error-ci
- refs/heads/hhugo-hash-collision
- refs/heads/igarnier@custom-binary-encodings
- refs/heads/improve-tests
- refs/heads/laure
- refs/heads/laure-bench
- refs/heads/laure-bench-plus-field-maps
- refs/heads/laure-cmdliner
- refs/heads/laure-effects
- refs/heads/laure-fix-json-printer
- refs/heads/make-ready-for-monorepo
- refs/heads/master
- refs/heads/mehdi@bytes_str
- refs/heads/mehdi@tail-rec-write
- refs/heads/pages
- refs/heads/philippewang.info@array-length
- refs/heads/pp_of_encoding
- refs/heads/prepare-for-071-release
- refs/heads/prepare-for-release-053
- refs/heads/prepare-for-v0.4
- refs/heads/raphael-p@adapt-to-newer-json-data-encoding
- refs/heads/raphael-p@lazycrashfix
- refs/heads/raphael@custom-bin-enc
- refs/heads/read-error-encoding-doesn-t-roundtrip-in-JSON
- refs/heads/release-0.2
- refs/heads/release-1-0-1
- refs/heads/seq-encoding
- refs/heads/split-into-smaller-packages
- refs/heads/support-user-invariants
- refs/heads/typos
- refs/heads/v1.0.0-release
- refs/heads/v1_and_v2
- refs/heads/yrg@introduce-basic-custom-encoders
- refs/heads/yrg@introduce-depsum
- refs/merge-requests/1/head
- refs/merge-requests/1/merge
- refs/merge-requests/100/head
- refs/merge-requests/100/merge
- refs/merge-requests/101/head
- refs/merge-requests/101/merge
- refs/merge-requests/102/head
- refs/merge-requests/102/merge
- refs/merge-requests/103/head
- refs/merge-requests/103/merge
- refs/merge-requests/104/head
- refs/merge-requests/104/merge
- refs/merge-requests/105/head
- refs/merge-requests/105/merge
- refs/merge-requests/106/head
- refs/merge-requests/106/merge
- refs/merge-requests/107/head
- refs/merge-requests/107/merge
- refs/merge-requests/108/head
- refs/merge-requests/108/merge
- refs/merge-requests/109/head
- refs/merge-requests/109/merge
- refs/merge-requests/110/head
- refs/merge-requests/110/merge
- refs/merge-requests/111/head
- refs/merge-requests/111/merge
- refs/merge-requests/112/head
- refs/merge-requests/112/merge
- refs/merge-requests/113/head
- refs/merge-requests/113/merge
- refs/merge-requests/114/head
- refs/merge-requests/114/merge
- refs/merge-requests/115/head
- refs/merge-requests/115/merge
- refs/merge-requests/116/head
- refs/merge-requests/116/merge
- refs/merge-requests/117/head
- refs/merge-requests/117/merge
- refs/merge-requests/118/head
- refs/merge-requests/118/merge
- refs/merge-requests/119/head
- refs/merge-requests/119/merge
- refs/merge-requests/120/head
- refs/merge-requests/120/merge
- refs/merge-requests/121/head
- refs/merge-requests/121/merge
- refs/merge-requests/122/head
- refs/merge-requests/122/merge
- refs/merge-requests/123/head
- refs/merge-requests/123/merge
- refs/merge-requests/125/head
- refs/merge-requests/125/merge
- refs/merge-requests/126/head
- refs/merge-requests/126/merge
- refs/merge-requests/127/head
- refs/merge-requests/127/merge
- refs/merge-requests/129/head
- refs/merge-requests/129/merge
- refs/merge-requests/13/head
- refs/merge-requests/13/merge
- refs/merge-requests/132/head
- refs/merge-requests/132/merge
- refs/merge-requests/14/head
- refs/merge-requests/14/merge
- refs/merge-requests/142/head
- refs/merge-requests/142/merge
- refs/merge-requests/144/head
- refs/merge-requests/144/merge
- refs/merge-requests/145/head
- refs/merge-requests/145/merge
- refs/merge-requests/149/head
- refs/merge-requests/149/merge
- refs/merge-requests/15/head
- refs/merge-requests/15/merge
- refs/merge-requests/150/head
- refs/merge-requests/150/merge
- refs/merge-requests/151/head
- refs/merge-requests/151/merge
- refs/merge-requests/153/head
- refs/merge-requests/153/merge
- refs/merge-requests/155/head
- refs/merge-requests/155/merge
- refs/merge-requests/156/head
- refs/merge-requests/156/merge
- refs/merge-requests/16/head
- refs/merge-requests/16/merge
- refs/merge-requests/18/head
- refs/merge-requests/18/merge
- refs/merge-requests/19/head
- refs/merge-requests/19/merge
- refs/merge-requests/20/head
- refs/merge-requests/20/merge
- refs/merge-requests/21/head
- refs/merge-requests/21/merge
- refs/merge-requests/22/head
- refs/merge-requests/22/merge
- refs/merge-requests/23/head
- refs/merge-requests/23/merge
- refs/merge-requests/24/head
- refs/merge-requests/24/merge
- refs/merge-requests/25/head
- refs/merge-requests/25/merge
- refs/merge-requests/26/head
- refs/merge-requests/26/merge
- refs/merge-requests/27/head
- refs/merge-requests/27/merge
- refs/merge-requests/28/head
- refs/merge-requests/28/merge
- refs/merge-requests/29/head
- refs/merge-requests/29/merge
- refs/merge-requests/3/head
- refs/merge-requests/3/merge
- refs/merge-requests/30/head
- refs/merge-requests/30/merge
- refs/merge-requests/31/head
- refs/merge-requests/31/merge
- refs/merge-requests/32/head
- refs/merge-requests/32/merge
- refs/merge-requests/33/head
- refs/merge-requests/33/merge
- refs/merge-requests/34/head
- refs/merge-requests/34/merge
- refs/merge-requests/35/head
- refs/merge-requests/35/merge
- refs/merge-requests/36/head
- refs/merge-requests/36/merge
- refs/merge-requests/37/head
- refs/merge-requests/37/merge
- refs/merge-requests/38/head
- refs/merge-requests/38/merge
- refs/merge-requests/39/head
- refs/merge-requests/39/merge
- refs/merge-requests/40/head
- refs/merge-requests/40/merge
- refs/merge-requests/41/head
- refs/merge-requests/41/merge
- refs/merge-requests/42/head
- refs/merge-requests/42/merge
- refs/merge-requests/43/head
- refs/merge-requests/43/merge
- refs/merge-requests/44/head
- refs/merge-requests/44/merge
- refs/merge-requests/45/head
- refs/merge-requests/45/merge
- refs/merge-requests/46/head
- refs/merge-requests/46/merge
- refs/merge-requests/47/head
- refs/merge-requests/47/merge
- refs/merge-requests/48/head
- refs/merge-requests/48/merge
- refs/merge-requests/49/head
- refs/merge-requests/49/merge
- refs/merge-requests/50/head
- refs/merge-requests/50/merge
- refs/merge-requests/51/head
- refs/merge-requests/51/merge
- refs/merge-requests/52/head
- refs/merge-requests/52/merge
- refs/merge-requests/53/head
- refs/merge-requests/53/merge
- refs/merge-requests/54/head
- refs/merge-requests/54/merge
- refs/merge-requests/55/head
- refs/merge-requests/55/merge
- refs/merge-requests/56/head
- refs/merge-requests/56/merge
- refs/merge-requests/57/head
- refs/merge-requests/57/merge
- refs/merge-requests/58/head
- refs/merge-requests/58/merge
- refs/merge-requests/59/head
- refs/merge-requests/59/merge
- refs/merge-requests/60/head
- refs/merge-requests/60/merge
- refs/merge-requests/61/head
- refs/merge-requests/61/merge
- refs/merge-requests/62/head
- refs/merge-requests/62/merge
- refs/merge-requests/63/head
- refs/merge-requests/63/merge
- refs/merge-requests/64/head
- refs/merge-requests/64/merge
- refs/merge-requests/65/head
- refs/merge-requests/65/merge
- refs/merge-requests/66/head
- refs/merge-requests/66/merge
- refs/merge-requests/67/head
- refs/merge-requests/67/merge
- refs/merge-requests/68/head
- refs/merge-requests/68/merge
- refs/merge-requests/69/head
- refs/merge-requests/69/merge
- refs/merge-requests/70/head
- refs/merge-requests/70/merge
- refs/merge-requests/71/head
- refs/merge-requests/71/merge
- refs/merge-requests/72/head
- refs/merge-requests/72/merge
- refs/merge-requests/73/head
- refs/merge-requests/73/merge
- refs/merge-requests/74/head
- refs/merge-requests/74/merge
- refs/merge-requests/75/head
- refs/merge-requests/75/merge
- refs/merge-requests/76/head
- refs/merge-requests/76/merge
- refs/merge-requests/77/head
- refs/merge-requests/77/merge
- refs/merge-requests/78/head
- refs/merge-requests/78/merge
- refs/merge-requests/79/head
- refs/merge-requests/79/merge
- refs/merge-requests/8/head
- refs/merge-requests/8/merge
- refs/merge-requests/80/head
- refs/merge-requests/80/merge
- refs/merge-requests/81/head
- refs/merge-requests/81/merge
- refs/merge-requests/82/head
- refs/merge-requests/82/merge
- refs/merge-requests/83/head
- refs/merge-requests/83/merge
- refs/merge-requests/84/head
- refs/merge-requests/84/merge
- refs/merge-requests/85/head
- refs/merge-requests/85/merge
- refs/merge-requests/86/head
- refs/merge-requests/86/merge
- refs/merge-requests/87/head
- refs/merge-requests/87/merge
- refs/merge-requests/88/head
- refs/merge-requests/88/merge
- refs/merge-requests/89/head
- refs/merge-requests/89/merge
- refs/merge-requests/90/head
- refs/merge-requests/90/merge
- refs/merge-requests/91/head
- refs/merge-requests/91/merge
- refs/merge-requests/92/head
- refs/merge-requests/92/merge
- refs/merge-requests/93/head
- refs/merge-requests/93/merge
- refs/merge-requests/94/head
- refs/merge-requests/94/merge
- refs/merge-requests/95/head
- refs/merge-requests/95/merge
- refs/merge-requests/96/head
- refs/merge-requests/96/merge
- refs/merge-requests/97/head
- refs/merge-requests/97/merge
- refs/merge-requests/98/head
- refs/merge-requests/98/merge
- refs/merge-requests/99/head
- refs/merge-requests/99/merge
- refs/pipelines/515767833
- refs/pipelines/515784649
- refs/pipelines/517699867
- refs/pipelines/519709460
- refs/pipelines/525602375
- refs/pipelines/529432829
- refs/pipelines/534364113
- refs/pipelines/535173907
- refs/pipelines/537334959
- refs/pipelines/552024975
- refs/pipelines/552393760
- refs/pipelines/554185785
- refs/pipelines/557227544
- refs/pipelines/557281310
- refs/pipelines/557350821
- refs/pipelines/557352485
- refs/pipelines/557731578
- refs/pipelines/558295048
- refs/pipelines/559508353
- refs/pipelines/562232948
- refs/pipelines/562236789
- refs/pipelines/562237867
- refs/pipelines/586693008
- refs/pipelines/586704951
- refs/pipelines/586714651
- refs/pipelines/609585088
- refs/pipelines/609585451
- refs/pipelines/610242215
- refs/pipelines/610242707
- refs/pipelines/610513570
- refs/pipelines/610520574
- refs/pipelines/610577549
- refs/pipelines/615824552
- refs/pipelines/615824670
- refs/pipelines/616919953
- refs/pipelines/627520777
- refs/pipelines/627654608
- refs/pipelines/627869083
- refs/pipelines/632143107
- refs/pipelines/632189467
- refs/pipelines/632554654
- refs/pipelines/632576928
- refs/pipelines/632595514
- refs/pipelines/632598685
- refs/pipelines/632601915
- refs/pipelines/633351209
- refs/pipelines/637237087
- refs/pipelines/637379491
- refs/pipelines/637401300
- refs/pipelines/637934047
- refs/pipelines/640056811
- refs/pipelines/640140454
- refs/pipelines/640244886
- refs/pipelines/640968665
- refs/pipelines/641033009
- refs/pipelines/641115603
- refs/pipelines/641119962
- refs/pipelines/641121984
- refs/pipelines/641134516
- refs/pipelines/642013081
- refs/pipelines/645027530
- refs/pipelines/645639827
- refs/pipelines/646480466
- refs/pipelines/647509866
- refs/pipelines/647536545
- refs/pipelines/647536769
- refs/pipelines/647938700
- refs/pipelines/651468847
- refs/pipelines/657825535
- refs/pipelines/657968948
- refs/pipelines/673403446
- refs/pipelines/675132949
- refs/pipelines/676021431
- refs/pipelines/680888345
- refs/pipelines/693631118
- refs/tags/0.2
- refs/tags/0.3
- refs/tags/archaeology
- refs/tags/v0.1
- refs/tags/v0.1.1
- refs/tags/v0.4
- refs/tags/v0.5
- refs/tags/v0.5.1
- refs/tags/v0.5.2
- refs/tags/v0.5.3
- refs/tags/v0.6
- refs/tags/v0.6.1
- refs/tags/v0.7
- refs/tags/v0.7.1
- refs/tags/v1.0.0
- refs/tags/v1.0.1
No releases to show
Raw File
Take a new snapshot of a software origin
If the archived software origin currently browsed is not synchronized with its upstream version (for instance when new commits have been issued), you can explicitly request Software Heritage to take a new snapshot of it.
Use the form below to proceed. Once a request has been submitted and accepted, it will be processed as soon as possible. You can then check its processing state by visiting this dedicated page.![swh spinner](/static/img/swh-spinner.gif)
Processing "take a new snapshot" request ...
Permalinks
To reference or cite the objects present in the Software Heritage archive, permalinks based on SoftWare Hash IDentifiers (SWHIDs) must be used.
Select below a type of object currently browsed in order to display its associated SWHID and permalink.
Tip revision: cb9da15059fb1c83ac27550abcca6029a4cb2260 authored by Yann Regis-Gianas on 19 February 2021, 10:59:47 UTC
Introduce value-dependent encodings
Introduce value-dependent encodings
Tip revision: cb9da15
README.md
Data-encoding
=============
A library for encoding and decoding data. It offers a great degree of control over the layout of data. It supports json and binary serialisation/deserialisation.
Usage
-----
For a type `t`, you can use the library's combinators to build an encoding `t
encoding`. You can then use the various reading/writing functions with this
encoding to serialise and deserialise values of the type `t`.
Example:
```
open Data_encoding
type t = (string * int) list
let encoding = list (tup2 string int31)
let v = [("foo", 32); ("bar", 0)]
let j = Json.construct encoding v
let w = Json.destruct encoding j
let () = assert (v = w)
```
Build and Install
-----------------
`data-encoding` can be built from source using `dune`:
```
dune build
```
or installed directly from `opam`:
```
opam install data-encoding
```