Catalyst milestone 1: Research
Outputs
- A report summarizing user interviews and containing a qualitative analysis of the discovered use cases.
- An architecture design document.
- A language specification document elaborating on the data type model features.
-
A related work document comparing the proposed technology via a feature matrix with others in the same space.
- STATUS: Done (#17, #18)
- Document comparing different schema techologies to LambdaBuffers is made available in the repo
-
An initial compiler implementation that performs some basic checks in accordance with the language specification.
- STATUS: Done (#10)
- The initial compiler implementation perform
kind checking
is made available in the repo.
Acceptance Criteria
- At least 3 users/projects have been interviewed about their desired use case for this technology.
- The architecture design document is completed and available in the project repository.
-
The initial compiler implementation is completed, capturing SOME of the intended language semantics as described in the Language Specification
- The initial compiler implementation perform
kind checking
is made available in the repo.
- The initial compiler implementation perform
Evidence of Milestone Completion
- Completed and reviewed design document is available in the project repository.
-
Completed and reviewed initial version of the compiler command line tool made available in the project repository.
- The Frontend CLI called
lambda-buffers-frontend-cli
is made available in the repo and is currently able to parse, validate and format.lbf
documents that contain the LambdaBuffers type modules:
- The Frontend CLI called
lambda-buffers/lambda-buffers-frontend$ cabal run
Usage: lambda-buffers-frontend-cli COMMAND
LambdaBuffers Frontend command-line interface tool
Available options:
-h,--help Show this help text
Available commands:
compile Compile a LambdaBuffers Module (.lbf)
format Format a LambdaBuffers Module (.lbf)
There's ongoing work to integrate the Compiler CLI in the Frontend CLI.
-
Test case: Compiler is able to validate a schema that uses a subset of types and capabilities from the spec.
- Both the Frontend and the Compiler components are accompanied by a test suite that is routinely run by the projects' CI system.
- A corpus of
lbf
files is made available in the repo and used in the test suite to ensure correct document handling. - The compiler tests on the kind checking machinery is also made available in the repo.