Hacking

Kaspar Schiess edited this page May 13, 2016 · 15 revisions
Clone this wiki locally

State of the ‘master’ branch

Travis-CI will show you if the tests on master should pass: parslet@travis-ci

We mostly try to maintain tests in working order. Sometimes the moving around of code will break stuff – unfinished features and such. In this case you should go back to the last travis build.

Obvious patches that we’ll probably refuse

  • Left recursion Parslet doesn’t do left recursion now and probably never will. We don’t think it makes parsers easier to write; and it certainly makes them harder to understand. Besides, there are other problems as Laurence Tratt points out.
  • Replacing Blankslate with BasicObject: We hold the opinion that they’re not the same at all. Discuss.
  • New Atoms: Most new atoms implement nice-to-haves, but we’d like parslet to be minimal, not comprehensive. Is your atom really something every language designer needs? Or is it just something your project needs?

How to submit a pull request

  • Write specs
  • If you introduce new functionality, ask around. Is it even a good idea? Do others think so as well? The proper channels here would be the mailing list and IRC.
  • Think about the API. It easier to sell a feature if it looks nice.
  • Make a compelling example. ‘Life or death’-kind of example, not ‘Nice to have’.

Don’t ‘Push’ your Pull Requests