vernac / architecture, expressed.
Browse documentation

Contributing to Vernac

Start with the repository contribution guide for issue reports, local verification and pull requests.

User documentation starts at the documentation home. This section is for language/tooling contributors. Build with JDK 25 and Maven 3.9+; generated application code retains its Java 21 target.

mvn clean verify

Standalone examples have their own POMs and checks. PostgreSQL tests need explicit disposable-database configuration and must not be counted as passed when skipped. Release acceptance also includes installation of the packaged IntelliJ plugin.

Learn from the IntelliJ integration

Lessons learned collects reusable engineering guidance on DSL/Java injection, resolution versus completion, native references, debugging, editor recovery and test boundaries. It includes a design checklist for a future SQLJ plugin. These are contributor notes, not additional language guarantees. For a guide across all documentation, use the documentation map.

Implementation and decisions

Current priorities

Modeling follow-up

Project maintenance

Implementation notes explain mechanisms and trade-offs. They do not override the specification. Historical patch progress belongs in Git history; keep unresolved design decisions with an explicit status and rationale.

Native debugger implementation

The debugger implementation record documents build-time source mappings, Java-backed Vernac breakpoints and the installed-IDE acceptance walkthrough.