Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/drathier/purerlex
https://github.com/drathier/purerlex
Last synced: about 1 month ago
JSON representation
- Host: GitHub
- URL: https://github.com/drathier/purerlex
- Owner: drathier
- License: apache-2.0
- Created: 2021-06-19T21:16:17.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2024-11-12T15:10:14.000Z (about 1 month ago)
- Last Synced: 2024-11-12T16:23:20.979Z (about 1 month ago)
- Language: Elixir
- Size: 157 KB
- Stars: 11
- Watchers: 4
- Forks: 2
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
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(),
...
]
endOptionally, 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).