Projects
📄 Request Language (reqlang)
A file format specification for defining HTTP requests, response assertions, and associated data/configuration in "request files".
- Declare what prompts, secrets, and environment specific variables a request needs.
- Write requests using HTTP Request messages.
- Write tests using HTTP Response messages.
- A language extension for Visual Studio Code providing an in-editor REST client. The language server also provides language diagnostics.
Tools
- reqlang-web-client A web/desktop HTTP REST client for reqlang files.
- reqlang-expr A bytecode interpreted language powering reqlang's templating engine.
- reqlang-expr-tspl A toy transpiler for reqlang-expr to typescript.
🧱 rust-backend-web-frontend
A project template for create tiny single binary web applications.
- Rust/Axum API Backend
- SPA frontend
- Optionally served through a native webview
- Very small single binary builds
👻 Egon
A (toy) statically typed interpreted language for learning type-checking and type inference.
🔓 Locks
A toy bytecode VM language branched from Lox to learn implementing new language syntax.
Forked from loxcraft with additional features and fixes:
- Shareable links for the online playground.
- Implemented an embeddable version of the playground's editor.
- Interactive language documentation using the embedded playground editor for runnable code examples.
- A language extension for Visual Studio Code. It integrates with the language server to provide the editor with language diagnostics. The extension also provides utility like viewing AST when hover over code.
- Dockerized the
locksbinary to lower the barrier for trying out the language. - Full list of features and fixes. Include several changes to syntax from the original project.
🧯 Attempted
Typed error handling for function calls in Typescript.
🌌 Bespin
A framework for implementing test frameworks.
📕 The Testing Book
A (work in progress) software engineering guide to testing.