Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/drathier/purerlex


https://github.com/drathier/purerlex

Last synced: about 1 month ago
JSON representation

Awesome Lists containing this project

README

        

# 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`:

```elixir
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](https://hexdocs.pm/purerlex).