Go to file
Tony Garnock-Jones 78fe5a2a85 Idea for preserves path count function 2022-06-06 14:27:47 +02:00
_layouts Proper layouting 2019-08-18 22:08:55 +01:00
_plugins Proper layouting 2019-08-18 22:08:55 +01:00
doc Prepare for move away from preserves.gitlab.io/preserves toward preserves.dev 2022-05-24 13:32:54 +02:00
git-hooks Rearrange tests to include test data. As part of this, remove tests for python2; from here out, python2 compatibility will likely rot. 2022-01-07 21:14:21 +01:00
historical Correct names 2022-03-07 08:31:24 +01:00
implementations Remove old import of distutils 2022-06-03 21:21:44 +02:00
path Repair schemac invocations 2022-01-14 14:12:32 +01:00
schema Repair schemac invocations 2022-01-14 14:12:32 +01:00
tests New test of very long integer 2022-01-13 23:29:47 +01:00
.gitignore First stab at specification of Schema 2021-05-25 14:11:33 +02:00
.gitlab-ci.yml Update CI script 2021-05-21 21:58:31 +02:00
LICENSE LICENSE, NOTICE, README.md 2019-08-08 14:46:03 +01:00
Makefile The Racket preserves package needs a local copy of schema.prs for the package-builder to work. Use a git hook to keep it in sync with the master copy 2021-05-26 14:27:03 +02:00
NOTICE Bump dates 2021-05-26 14:27:17 +02:00
README.md Remove front-page warning 2022-05-24 12:47:33 +02:00
TODO.md Note in TODO.md 2020-10-26 14:15:03 +01:00
TUTORIAL.md Correct names 2022-03-07 08:31:24 +01:00
_config.yml Prepare for move away from preserves.gitlab.io/preserves toward preserves.dev 2022-05-24 13:32:54 +02:00
canonical-binary.md The Great Renaming: Pointer -> Embedded 2021-05-17 14:54:06 +02:00
conventions.md Specify RFC3339 convention further. 2021-10-02 11:48:53 +02:00
index.md Tweak jekyll setup 2019-08-11 16:19:08 +01:00
normalize.css Proper layouting 2019-08-18 22:08:55 +01:00
notes.mb.md Proper layouting 2019-08-18 22:08:55 +01:00
preserves-path.md Idea for preserves path count function 2022-06-06 14:27:47 +02:00
preserves-schema.md Notes on identifiers and capitalization conventions 2021-10-14 13:11:40 +02:00
preserves.css Repair CSS problem exposed by recent Firefox update 2020-12-28 21:52:47 +01:00
preserves.el Revised preserves.el instructions 2021-03-11 09:10:11 +01:00
preserves.md Repair typos (thanks to Gregg Irwin for pointing these out) 2022-02-23 09:36:42 +01:00
questions.md Whitespace questions 2021-03-07 21:49:57 +01:00
quoting.rkt Explore quoting. 2018-12-06 21:25:51 +00:00
quoting.v Drastically improve quoting.v - including a much better main theorem 2020-06-18 23:57:42 +02:00
representations.md Proper layouting 2019-08-18 22:08:55 +01:00
setup.sh The Racket preserves package needs a local copy of schema.prs for the package-builder to work. Use a git hook to keep it in sync with the master copy 2021-05-26 14:27:03 +02:00
why-not-json.md Proper layouting 2019-08-18 22:08:55 +01:00
xml-infoset.prs XML Infoset convention 2021-09-30 14:46:46 +02:00

README.md

projectpages projecttree title no_site_title
https://gitlab.com/preserves/preserves https://gitlab.com/preserves/preserves/tree/main Preserves: an Expressive Data Language true

This repository contains a proposal 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.

Core documents

Preserves data model and serialization formats

Preserves is defined in terms of a syntax-neutral data model and semantics which all transfer syntaxes share. This allows trivial, completely automatic, perfect-fidelity conversion between syntaxes.

Preserves schema and queries

Implementations

Implementations of the data model, plus the textual and/or binary transfer syntaxes:

Implementations of the data model, plus Syrup transfer syntax:

Tools

Preserves documents

Preserves Schema documents and codegen

Additional resources

Contact

Tony Garnock-Jones tonyg@leastfixedpoint.com

Licensing

The contents of this repository are made available to you under the Apache License, version 2.0 (http://www.apache.org/licenses/LICENSE-2.0), and are Copyright 2018-2021 Tony Garnock-Jones.