Link to Syrup and preserves-nim
This commit is contained in:
parent
53bd5a1a7e
commit
2c5ee2066b
35
README.md
35
README.md
|
@ -6,10 +6,9 @@ no_site_title: true
|
|||
---
|
||||
|
||||
This [repository]({{page.projectpages}}) contains a
|
||||
[proposal](preserves.html) and
|
||||
[various implementations]({{page.projecttree}}/implementations/) of
|
||||
*Preserves*, a new data model and serialization format in many ways
|
||||
comparable to JSON, XML, S-expressions, CBOR, ASN.1 BER, and so on.
|
||||
[proposal](preserves.html) and various implementations of *Preserves*,
|
||||
a new data model and serialization format in many ways comparable to
|
||||
JSON, XML, S-expressions, CBOR, ASN.1 BER, and so on.
|
||||
|
||||
> **WARNING** Everything in this repository is experimental and in
|
||||
> flux! The design of Preserves is not finalised and may change
|
||||
|
@ -20,15 +19,41 @@ comparable to JSON, XML, S-expressions, CBOR, ASN.1 BER, and so on.
|
|||
|
||||
### Preserves data model and serialization formats
|
||||
|
||||
Preserves is defined in terms of a syntax-neutral
|
||||
[data model and semantics](preserves.html#starting-with-semantics)
|
||||
which all transfer syntaxes share. This allows trivial, completely
|
||||
automatic, perfect-fidelity conversion between syntaxes.
|
||||
|
||||
- [Preserves tutorial](TUTORIAL.html)
|
||||
- [Preserves specification](preserves.html), including semantics,
|
||||
textual syntax, and compact binary syntax
|
||||
data model, textual syntax, and compact binary syntax
|
||||
- [Canonical Form for Binary Syntax](canonical-binary.html)
|
||||
- [Syrup](https://github.com/ocapn/syrup#pseudo-specification), a
|
||||
hybrid binary/human-readable syntax for the Preserves data model
|
||||
|
||||
### Preserves schema
|
||||
|
||||
- [Preserves Schema specification](preserves-schema.html)
|
||||
|
||||
## Implementations
|
||||
|
||||
Implementations of the data model, plus the textual and/or binary transfer syntaxes:
|
||||
|
||||
- [Preserves for Nim](https://git.sr.ht/~ehmry/preserves-nim)
|
||||
- [Preserves for Python]({{page.projecttree}}/implementations/python/) ([`pip install preserves`](https://pypi.org/project/preserves/))
|
||||
- [Preserves for Racket]({{page.projecttree}}/implementations/racket/preserves/) ([`raco pkg install preserves`](https://pkgs.racket-lang.org/package/preserves))
|
||||
- [Preserves for Rust]({{page.projecttree}}/implementations/rust/) ([crates.io package](https://crates.io/crates/preserves))
|
||||
- [Preserves for Squeak Smalltalk](https://squeaksource.com/Preserves.html) (`Installer ss project: 'Preserves'; install: 'Preserves'`)
|
||||
- [Preserves for TypeScript and JavaScript]({{page.projecttree}}/implementations/javascript/) ([`yarn add @preserves/core`](https://www.npmjs.com/package/@preserves/core))
|
||||
|
||||
Implementations of the data model, plus Syrup transfer syntax:
|
||||
|
||||
- [Syrup for Racket](https://github.com/ocapn/syrup/blob/master/impls/racket/syrup/syrup.rkt)
|
||||
- [Syrup for Guile](https://github.com/ocapn/syrup/blob/master/impls/guile/syrup.scm)
|
||||
- [Syrup for Python](https://github.com/ocapn/syrup/blob/master/impls/python/syrup.py)
|
||||
- [Syrup for JavaScript](https://github.com/zarutian/agoric-sdk/blob/zarutian/captp_variant/packages/captp/lib/syrup.js)
|
||||
- [Syrup for Haskell](https://github.com/zenhack/haskell-preserves)
|
||||
|
||||
## Additional resources
|
||||
|
||||
- Some [conventions for common data types](conventions.html)
|
||||
|
|
Loading…
Reference in New Issue