Official Shen Sources
This is the official repository for the open-source development of Mark Tarver's Shen. Bug reports, suggested enhancements and pull requests are welcome here.
Note that this repository does not contain a runnable implementation of Shen. Downloads for the de-facto reference implementation are available on its releases page. Other certified implementations are linked on the Shen Open Source website.
Shen is a self-hosted language, so its kernel implementation is written in Shen. Building Kλ from the Shen sources requires an executable built from the previous release of Shen.
Using Pre-Built shen-cl (Recommended)
A prebuilt copy of the reference implementation can be pulled down by running
make fetch. The executable
shen will be dropped under the
shen-cl folder. Render the Kλ by running
make klambda or just
Using Another Executable
Using your own executable is the same as above, except you override the
Shen variable like this:
make klambda Shen="/path/to/shen".
Release packages containing the pre-built Kλ and the test suite are created using
make release. Archives appear under the
release/ folder in both
Packages can be created for any version, but when uploading to the releases page, make sure to have built the specific tagged revision.
make pure git checkout shen-21.0 make fetch make klambda make release
Building release packages on Windows currently requires the 7-zip command
7z to be accessible from the command line.
doc/ and the wiki for instructions on building a certifiable port of Shen. If you get your port to run the standard test suite successfully, let us know on the mailing list and your port will be certified.