Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Summary: 1. One thing that contributors report as being a major point of friction to contributing to the `Reason` repo is the long build times. This diff ports the build to `jbuilder` which reduces the clean build times by around 60%! Incremental build time is also reduced by 50% when making changes to the parser. I'm personally a lot more inclined to fix/improve Reason when the build times are much faster. This brings cold builds down from 24seconds to 11seconds and incremental builds (when changing parser/printer) from 15seconds to 8seconds. 2. Since this uses `jbuilder`, it also allows easily removing the `utop` dependency in the next diff. (I don't know how to refactor `ocamlbuild` projects (`_tags`, `myocamlbuild`, wat.), but here, I just guessed how to do stuff with `jbuilder` and most of the time it worked.) I pulled apart [Rudi's initial port](#1261) and fixed some of the remaining issues. I also refactored the diff to be a little less aggressive and fixed the remaining issues. 3. Completeness: - `make test` works. - Documentation in `./src/README.md` updated. - `opam pin add reason .` works. - I tested `rebuild` on a sample project. - I disabled one test momentarily (the oprint test) because it requires a modern version of node with `async` which I don't have. I'll reenable and test it before we merge this. Test Plan:make test Reviewers:@chenglou, @cristianoc, @IwanKaramazow, @rickyvetter CC:
- Loading branch information
Showing
68 changed files
with
559 additions
and
280 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -20,4 +20,4 @@ env: | |
notifications: | ||
email: | ||
- chenglou@fb.com | ||
- reason@cloudwalk.me | ||
- jordanjcw@fb.com |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,9 @@ | ||
# Do not merge this pull request until the following is done: | ||
[x] Make sure rebuild actually works. | ||
[.] Separate rtop repo/package. | ||
[x] created repo: https://github.com/reasonml/rtop | ||
[ ] Move rtop portion there. | ||
[x] Compare old .install file to new one to make sure we're not missing anything. | ||
[x] Need to create an (install) section for the myocamlbuild and rtop_init.ml | ||
[ ] Re-enable the js test that was disabled on old node. | ||
[ ] The `trace` flag for menhir compilation (can be done in a follow up diff). |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.