Open jordwalke opened 3 years ago
How does one build this if you wanted to hack on it? I dont know what to do after this error:
mando@mandalarian ~/Github> gh repo clone idkjs/reason
Cloning into 'reason'...
remote: Enumerating objects: 15697, done.
remote: Counting objects: 100% (36/36), done.
remote: Compressing objects: 100% (33/33), done.
remote: Total 15697 (delta 9), reused 3 (delta 0), pack-reused 15661
Receiving objects: 100% (15697/15697), 22.95 MiB | 9.58 MiB/s, done.
Resolving deltas: 100% (10358/10358), done.
Updating upstream
From https://github.com/reasonml/reason
* [new branch] master -> upstream/master
mando@mandalarian ~/Github> cd reason
mando@mandalarian ~/G/reason (master)> gh pr checkout 2619
? Which should be the base repository (used for e.g. querying issues) for this directory? reasonml/reason
remote: Enumerating objects: 206, done.
remote: Counting objects: 100% (162/162), done.
remote: Total 206 (delta 162), reused 162 (delta 162), pack-reused 44
Receiving objects: 100% (206/206), 55.49 KiB | 11.10 MiB/s, done.
Resolving deltas: 100% (172/172), completed with 117 local objects.
From https://github.com/reasonml/reason
* [new branch] MerlinRtopNewSyntax -> upstream/MerlinRtopNewSyntax
Switched to a new branch 'MerlinRtopNewSyntax'
mando@mandalarian ~/G/reason (MerlinRtopNewSyntax)> code .
mando@mandalarian ~/G/reason (MerlinRtopNewSyntax)> make install
opam pin add reason . -y
[reason.3.7.0] synchronised from git+file:///Users/mando/Github/reason#MerlinRtopNewSyntax
reason is now pinned to git+file:///Users/mando/Github/reason#MerlinRtopNewSyntax (version 3.7.0)
The following dependencies couldn't be met:
- reason -> ocaml < 4.12
base of this switch (use `--unlock-base' to force)
[NOTE] Pinning command successful, but your installed packages may be out of sync.
make: *** [install] Error 20
So I then run ~/G/reason (MerlinRtopNewSyntax)> opam switch create . ocaml-base-compiler.4.11.0 --deps-only
then make install
and make build
which gets me to:
-> installed utop.2.7.0
Done.
# Run eval (opam env) to update the current shell environment
mando@mandalarian ~/G/reason (MerlinRtopNewSyntax)> eval (opam env)
mando@mandalarian ~/G/reason (MerlinRtopNewSyntax)> make install
opam pin add reason . -y
[reason.3.7.0] synchronised from git+file:///Users/mando/Github/reason#MerlinRtopNewSyntax
reason is now pinned to git+file:///Users/mando/Github/reason#MerlinRtopNewSyntax (version 3.7.0)
The following actions will be performed:
- install reason 3.7.0*
[reason.3.7.0] synchronised from git+file:///Users/mando/Github/reason#MerlinRtopNewSyntax
<><> Processing actions <><><><><><><><><><><><><><><><><><><><><><><><><><><><>
-> installed reason.3.7.0
Done.
mando@mandalarian ~/G/reason (MerlinRtopNewSyntax)> code .
mando@mandalarian ~/G/reason (MerlinRtopNewSyntax)> make build
dune build
File "reason_syntax_util.cppo.ml", line 764, characters 8-26:
Error (warning 32): unused value last_index_rec_opt.
File "src/reason-parser/reason_parser.mly", line 2744, characters 19-34:
Error (alert deprecated): Reason_migrate_parsetree.OCaml_408.Ast.Longident.parse
this function may misparse its input,
use "Parse.longident" or "Longident.unflatten"
File "src/reason-parser/reason_pprint_ast.ml", line 1958, characters 9-17:
1958 | let {stdAttrs; jsxAttrs; stylisticAttrs} = partitionAttributes x.pexp_attributes in
^^^^^^^^
Error (warning 27): unused variable stdAttrs.
File "src/reason-parser/reason_pprint_ast.ml", line 1958, characters 19-27:
1958 | let {stdAttrs; jsxAttrs; stylisticAttrs} = partitionAttributes x.pexp_attributes in
^^^^^^^^
Error (warning 27): unused variable jsxAttrs.
make: *** [build] Error 1
Maybe i should be using a different compiler?
Just to be thorough, I tried building with esy
without success:
Any guidance will be greatly appreciated.
I'm looking forward to this release and am happy to help in any small way I can.
Thank you.
Reason v4 rtop and merlin support
Enables the new "v4 syntax" (actually marked v3.8) in merlin, and rtop. This should also make
refmterr
print the new syntax for types.This is diff 4 in a stack of github PRs: Only examine the most recent commit in this PR to understand what this specific PR accomplishes. The whole stack is: