You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 
Emery Hemingway 2ff489d975 Initial Dhall functions 1 month ago
_layouts Proper layouting 2 years ago
_plugins Proper layouting 2 years ago
doc Add strip_annotations function and expose it in preserves-tool 2 months ago
git-hooks Update pre-commit hook and clone path.bin to address #30. 3 months ago
historical Move codec.md into historical folder 3 years ago
implementations Initial Dhall functions 1 month ago
path Rename real to ~real, and add ~int to match 4 months ago
schema Rename NamedSimplePattern_ -> Binding 5 months ago
tests The Great Renaming: Pointer -> Embedded 7 months ago
.gitignore First stab at specification of Schema 6 months ago
.gitlab-ci.yml Update CI script 6 months ago
LICENSE LICENSE, NOTICE, README.md 2 years ago
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 6 months ago
NOTICE Bump dates 6 months ago
README.md Update docs 3 months ago
TODO.md Note in TODO.md 1 year ago
TUTORIAL.md MUCH simpler binary format, inspired by Syrup; alterations to text format 10 months ago
_config.yml Exclude implementations/ from site 2 years ago
canonical-binary.md The Great Renaming: Pointer -> Embedded 7 months ago
conventions.md Specify RFC3339 convention further. 2 months ago
index.md Tweak jekyll setup 2 years ago
normalize.css Proper layouting 2 years ago
notes.mb.md Proper layouting 2 years ago
preserves-path.md Notes on regex dialect 2 months ago
preserves-schema.md Notes on identifiers and capitalization conventions 2 months ago
preserves.css Repair CSS problem exposed by recent Firefox update 11 months ago
preserves.el Revised preserves.el instructions 9 months ago
preserves.md Repair minor typo in appendix 6 months ago
questions.md Whitespace questions 9 months ago
quoting.rkt Explore quoting. 3 years ago
quoting.v Drastically improve quoting.v - including a much better main theorem 1 year ago
representations.md Proper layouting 2 years ago
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 6 months ago
why-not-json.md Proper layouting 2 years ago
xml-infoset.prs XML Infoset convention 2 months ago

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.

WARNING Everything in this repository is experimental and in flux! The design of Preserves is not finalised and may change drastically. Please offer any feedback you may have with this in mind.

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.