Skip to content
nes4lessPublic

About

CRUBAL: a language and engine for data about any kind of thing — spec, corpus, reference implementation

Resources

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

CRUBAL

CRUBAL is a language and engine for data about any kind of thing. Everything is a key and a value: records are pairs, a facet's definition is pairs about a key, and rules, contracts, views and packages are pairs too. The engine is universal at the kind level; commerce, media and the rest are packages that attach to kinds.

Folder Holds Licence
spec/ the specification, CRUBAL 2, in 13 chapters CC-BY-4.0
corpus/ the conformance test corpus CC-BY-4.0
packages/crubal/ the reference implementation, @cruba/crubal (TypeScript first; a Rust core compiled to WebAssembly once the language freezes) Apache-2.0
packages/crubal-postgres/ the persistent store on Postgres: the log as the truth, every other table rebuilt from it (docs/design/store.md) Apache-2.0
packages/crubal-host/ the reference host: identity, secrets, adapters, signing, the loops and the HTTP surface (docs/design/host.md) Apache-2.0

Status: the spec is a complete working draft. The reference implementation passes every conformance level, Reader through Views (87 corpus cases); it was built level by level (Reader, Dictionary, Rules, Store, Exchange, Views); each level is done when its corpus folders pass.

The home of the core definitions and standard packages will be crubal.com.

Licences

Code is licensed under the Apache License 2.0 (LICENSE). The specification and the corpus are licensed under Creative Commons Attribution 4.0 International (LICENSE-spec).

About

CRUBAL: a language and engine for data about any kind of thing — spec, corpus, reference implementation

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages