# Purerlex

PurerlEx allows you to automatically compile purerl code with mix, both in `mix compile` and with `recompile` in `iex -S mix`.

## Assumptions:
- All your non-dependency source files are in `src/**/*.purs`, `lib/**/*.purs` and/or `test/**/*.purs` relative to your `mix.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` and `spago.dhall` are in the same folder, not in sub-folders).
- You have `spago` on your path.

## Installation

First install it by adding `purerlex` to your list of dependencies in `mix.exs`:

def deps do
    {:purerlex, "~> 0.5.0"}

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(),

Optionally, for dev builds, you can add the `:purserl` compiler instead and run a faster compiler fork from .

Docs are also available at [](