strega-nil / stregaml

Experimenting with a language implementation in ocaml
Apache License 2.0
33 stars 0 forks source link

Some Notes

Code of Conduct

Contributing

As of now, there's not much you can contribute to! However, one place where I'd really like help with non-English languages. If you are a speaker of a non-English language, please help! Check out bin/Languages.ml, and add your language to the languages/scratch-*.cf list! If you have ideas on how better to support non-english languages, especially if you speak a non-European language, your help would be much appreciated!

Building

Prerequisites

In order to install dependencies, you should be able to simply run dune external-lib-deps --missing @@default.

Actually Building

You should be able to (after installing dependencies), run dune build. If you want to reformat the code base after making edits, run dune build @fmt --auto-promote.

Testing

The tests in test/ are not yet even close to useful. I hope to work on tests once I finish the lvalue overhaul.

The only real examples of café code are in language/ - language/scratch.cf is a place for testing new features, and will likely be removed from the repository once I finish the lvalue overhaul. In language/misc, I have some somewhat "real" examples of café. Currently, there're advent of code solutions, but there might be more at some point.