Warning
This are just some random thoughts for a new data language. It will probably never be implemented.
The pure data language.
Spiritual successor of YAML, JSON and TOML. One file format to rule them all.
- Simple specification
- Only one correct way to format a file (highly whitespace sensitive)
- Maximum space efficiency while keeping readability
- Ability to reproduce large share of commonly used data & config files (>95%)
- Streaming friendly (no lookback necessary => state machine)
- Typed
a-zA-z- String&- Boolean-x- List of datatypex(ifxina-zA-ztype = String)=- Dictionary%- Number (arbitrary precision floating point, no scientific)#- Comment@- Datetime- Multi line continuation|- Multi line continuation with newline\- Escape first character
Reserved chars: +*^}{][/:;().,?'"
null is conveyed by a single _ as the value
name Pure
version 0.1.0
description The pure data language
&private false
-tags
data
language
normalized
:competitor_map
yaml https://yaml.org
json json.org
Extension to pure.
File extension: .purex
!- Include path~a8- Inline binary witha8(hex) bytes$lang- Code in languagelang
- cue - Data validation and configuration language
- Dhall - Typed configuration language
- HCL - HashiCorp configuration language
- Jsonnet - JSON-based templating language
- KDL - Human-readable document language
- Nickel - Typed configuration with functions
- RON - Rust-oriented data format
- Starlark - Deterministic Python-like configuration language
- TOML - Minimal human-readable config format
- YAML - Human-readable data serialization
True/falsekey character instead of value- Is purex a good idea?
- Pseudocode implementation
+instead of%?- Extra datatype for URLs?