Where Prismio is
discussed and built.
Prismio is developed on GitHub, with a Discord server for questions and conversation. Both are open to everyone: report a bug, ask a question, or send a patch.
Where to talk.
Discord
Questions, troubleshooting, and conversation with the maintainer and other users. Start here if you are stuck or just curious.
GitHub Issues
Bug reports, feature requests, and tracked work. A minimal program that reproduces the problem is the most useful thing you can include.
Start here.
Everything you need to go from reading to a first pull request.
- Read the contributing guideFork, branch, change, test, and open a pull request. It also covers commit messages and what a good PR looks like.
- Set up a local buildPython 3.9+ is the only thing you install yourself. The setup script provisions the pinned LLVM and builds the first compiler from the release seed it downloads; after that the checkout is a Prismio project with its own commands (prismio build, suite, verify, gate).
- Pick a good first issueSmall, well-scoped tasks for people new to the codebase.
- Report a security problemUse the security policy instead of a public issue.
Where help fits.
- Compilersrc/
- The lexer, parser, semantic analysis and ownership checks, the Adaptive Inference Framework, and LLVM lowering. The compiler is written in Prismio.
- Browse src/
- Standard librarystd/
- Collections, strings, files, input, time, and math, written in Prismio (.psm).
- Browse std/
- Benchmarksbenchmarks/
- Workloads for the Prismio, C++ and Rust suite. All three versions of a workload must be the same program and agree on the checksum.
- Browse benchmarks/
- Editor supportintellij-plugin · prismio-tmlanguage
- The JetBrains plugin and the TextMate grammar used for syntax highlighting.
- Open the plugin
How a change lands.
- Step 1
Make a small, focused change
Work in src/ or std/. For anything large, open an issue first so the approach can be agreed before you write the code.
- Step 2
Add tests and run them
Behaviour you add or fix needs a test in tests/. A pull request that adds language behaviour without one is unlikely to be merged.
- Step 3
Open a pull request against main
Run prismio gate first: it lints, packages the compiler and runs the whole release gate. CI does not run on push; a maintainer starts it by hand on the pull request, and it bootstraps from the release seed, checks that the compiler reproduces itself (gen0 → gen1 → gen2), then runs the suite.
Prismio follows the Contributor Covenant. Read the Code of Conduct.
Rather just try it first?
Install Prismio, write something small, and report where it broke.