Go to file
Emery Hemingway 2ff489d975 Initial Dhall functions
Add functions for representing the JSON subset of Preserves in the
Dhall configuration language.

https://dhall-lang.org/
2021-10-22 19:01:32 +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 Add strip_annotations function and expose it in preserves-tool 2021-09-30 12:41:29 +02:00
git-hooks Update pre-commit hook and clone path.bin to address #30. 2021-08-25 09:24:24 +02:00
historical Move codec.md into historical folder 2018-09-29 17:10:08 +01:00
implementations Initial Dhall functions 2021-10-22 19:01:32 +02:00
path Rename real to ~real, and add ~int to match 2021-08-08 17:19:58 -04:00
schema Rename NamedSimplePattern_ -> Binding 2021-06-25 10:25:26 +02:00
tests The Great Renaming: Pointer -> Embedded 2021-05-17 14:54:06 +02: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 Update docs 2021-09-02 13:46:49 +02:00
TODO.md Note in TODO.md 2020-10-26 14:15:03 +01:00
TUTORIAL.md MUCH simpler binary format, inspired by Syrup; alterations to text format 2021-01-23 22:54:22 +01:00
_config.yml Exclude implementations/ from site 2019-10-15 19:01:05 +01: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 Notes on regex dialect 2021-10-04 14:29:39 +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 minor typo in appendix 2021-06-03 14:39:31 +02: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.

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.