To introduce changes:
- fork this repository,
- create your own branch from
master
, - make required changes,
- open a PR to
master
from your branch, - wait until it gets reviewed.
To be able to work with low-level stuff such as the interpreter, I highly recommend to first observe the Cloak Wiki.
To be able to work with the metalanguage itself, some basic familiarity with programming language theory is expected. For learning materials, see https://github.com/steshaw/plt.
Some useful scripts are:
Description | Command |
---|---|
Format all the code base | ./scripts/fmt.sh |
Check code formatting | ./scripts/check-fmt.sh |
Test only tests/ |
./scripts/test.sh |
Test only examples/ |
./scripts/test-examples.sh |
Test both tests/ and examples/ |
./scripts/test-all.sh |
Generate the documentation | ./scripts/docs.sh |
Open the documentation | ./scripts/open-docs.sh |
Generate the specification | ./scripts/spec.sh |
Open the specification | ./scripts/open-spec.sh |
Run the benchmarks | ./scripts/bench.sh |
Happy hacking!
- Update the
PROJECT_NUMBER
field inDoxyfile
. - Update the
release
field indocs/conf.py
. - Update
ML99_MAJOR
,ML99_MINOR
, andML99_PATCH
ininclude/metalang99.h
. - Update the version number in
spec/spec.tex
&spec/spec.pdf
. - Update
CHANGELOG.md
. - Release the project in GitHub Releases.