PurerlEx allows you to automatically compile purerl code with mix, both in mix compile
and with recompile
in iex -S mix
.
- All your non-dependency source files are in
src/**/*.purs
,lib/**/*.purs
and/ortest/**/*.purs
relative to yourmix.exs
. These are the only places we look for changed files in (via mtime). - Your spago build outputs files in the
output
folder in the project root. - Your spago project is in the root of the mix project (
mix.exs
andspago.dhall
are in the same folder, not in sub-folders). - You have
spago
on your path.
First install it by adding purerlex
to your list of dependencies in mix.exs
:
def deps do
[
{:purerlex, "~> 0.11.4"}
]
end
Then run mix deps.get
in your console to fetch from Hex
Then add the :purerl
compiler to (the beginning of) the list of compilers and add "output"
to the erlc_paths
:
def project do
[
...
erlc_paths: ["output"], # purerl
compilers: [:purerl] ++ Mix.compilers(),
...
]
end
Optionally, for dev builds, you can add the :purserl
compiler instead and run a faster compiler fork from https://github.com/drathier/purserl/ .
Docs are also available at https://hexdocs.pm/purerlex.