There’s an infinite amount of work to be done for Miksilo, so contributions are very welcome. There are many different topics to work on, some suitable for a Bachelor’s or Master’s thesis.
Some examples of cool features:
- Parser combinators that allow defining indentation sensitive grammars, such as those of Python and Haskell.
- A DSL for static semantics, such as name binding and type checking. See the paper A constraint language for static semantic analysis based on scope graphs for inspiration
- Error correcting parsing
- Generating syntactic code completion from a grammar, as in the paper Principled syntactic code completion using placeholders
- Incremental compilation: incremental parsing, incremental type checking, etc.
- Add a new language front-end or back-end.
How to contribute
- Reach out on the Gitter, so other contributors can help you out where the documentation is lacking.
- Look through the open issues to see if you find something interesting
- Enjoy the work ;-)
- Once you’re done, submit a pull request and make sure the build server approves it.
FAQ
How can I preview the documentation locally?
Go to the docs
folder and run bundle exec jekyll serve
.