source
flyology_json
0.1.0-devDevelopment onlyIncremental bounded JSON parsing and writing for Ada
0.1.0-dev
DevelopmentSource documentation
README
Flyology JSON
flyology_json is an Ada-first incremental JSON parser and streaming writer.
The bounded core uses caller-provided storage, performs no heap allocation, and
reports malformed input and resource failure without raising exceptions.
Version 0.1.0-dev is available from the Flyology Alire index. Add the Flyology
index ahead of the community index once, then add the crate without a Git or
path pin:
alr index --reset-community
alr index --add=git+https://github.com/flyology-ada/alire-index.git \
--name=flyology --before=community
alr index --list
cd /path/to/your/application
alr with flyology_json=0.1.0-dev
alr build
Public surface
Flyology_JSON.Parsing: caller-drivenStepand batchedDrain, explicit profiles and capacities, provisional events, exact raw number/source ranges, strict decoded-name duplicate rejection or unchecked preservation. Explicit compatibility families can accept comments, trailing commas, or both without enabling other token extensions.Flyology_JSON.Tokens: bounded caller-storage token collection.Flyology_JSON.Numbers.Signed_Integersand.Unsigned_Integers: checked exact-lexeme conversion without normalization or hidden allocation.Flyology_JSON.Writing: allocation-free semantic streaming calls over a caller destination whoseBegin/Write/Commit/Aborttransaction publishes only a complete document.
Ordinary_Compact preserves caller member order and exact validated number
lexemes. It is deterministic for the same call sequence, but is not canonical
JSON.
Boundaries
- Flyology JSON owns JSON syntax, UTF-8 and escape handling, exact numeric lexemes, duplicate member-name detection, profiles, parsing, and writing.
- Flyology Serde owns format-neutral traversal and unpublished Ada candidates.
- Flyology Type IR owns its schema, validation, semantic projection, fingerprints, canonical interchange authority, and production authority.
- Flyology Wire runtime does not depend on this crate.
See the architecture for the reviewed contracts and state machines.
Agent setup
This repository uses APM 0.28.0. Install the locked agent packages and generate client instructions from the source packages:
apm install --frozen
apm compile --target codex
apm audit --ci
Do not treat generated AGENTS.md as source authority.
License
Original project material is available under either the MIT license or the Apache License 2.0.