Caesar.jl
Caesar.jl copied to clipboard
use schema for serialization types / contracts
Edited
TAC
- PackedVariable and PackedFactor generated or implemented from a schema to be more rigid and specific about interchange types.
- Care must be taken on null types / empty fields / default values (easier in currently duck typing via Dicts)
Probably StructTypes.jl JSON3.jl etc performance benefits also.
Original comment
For ZMQ and other JSON related serialization, we should consider using contract definitions. I suggest we place them in Caesar/src/schema/*.json
.
For example, see:
- http://json-schema.org/understanding-json-schema/structuring.html
- https://github.com/OAI/OpenAPI-Specification
cc @pvazteixeira @nicrip @GearsAD
https://github.com/fredo-dedup/JSONSchema.jl
added step-by-step guide to Caesar.jl docs faq: https://github.com/JuliaRobotics/Caesar.jl/pull/312
We decided against this, and will soon meet to make sure we can close this and related issues.