These are commands that will likely be useful during development.
General: ./scripts/test.sh compiles and builds the Haskell code and runs all tests. Recommended that you run this before pushing any code to a branch that others might be working on.
Disclaimer If you have trouble getting started, please get in touch via gitter so we can help. If you have any fixes to the process, please send us a PR!
To get cracking with Unison,
- Install
stack. - Build the project with
stack build. - After building,
stack exec unisonwill fire up the codebase editor, create a codebase in the current directory, and watch for.ufile changes. If you want to run it in a different directory, just addunisonto yourPATH, after finding it withfind .stack-work -name unison -type f. (For me, this finds two, they both work, but have different contents. ¯\_(ツ)_/¯ ) - Once a file is typechecked, you can do
addto add it to the codebase, - and then
viewto view a definition, orhelpfor more ideas.
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.