1.5 KiB
These are commands that will likely be useful during development.
Scala
Launch sbt
in runtime-jvm
directory, then here are various useful commands:
main/test:run
- runs all the testsmain/test:run compilation
- runs tests prefixed by"compilation"
main/test:run 102932 compilation.let3
- runs tests prefixed by"compilation.let3"
with the random seed 102932benchmark/run
- presents menu of benchmarks to run;clean;coverage;main/test:run;coverageReport
followed optionally by;coverageOff
- generates test coverage report
Haskell
For doing compilation you can do:
stack repl unison-parser-typechecker
From here, do Main.main
to run the tests and :r
for rapid recompile.
You can also do:
stack build unison-parser-typechecker
If you want to run the tests outside the REPL.
Note: As part of shared-tests
, all the Unison code in unison-src/base.u
is parsed and typechecked. If you're tweaking the parser and/or typechecker and want to quickly test changes, you can add some additional definitions to this file and rerun the tests.
What if you want a profiled build? Do:
stack build --executable-profiling --library-profiling --ghc-options="-fprof-auto -rtsopts" unison-parser-typechecker
Again you can leave off the flag. To run an executable with profiling enabled, do:
stack exec -- <executable-name> +RTS -p
That will generate a <executable-name>.prof
plain text file with profiling data. More info on profiling.