With the release of 0.12 we have a situation where many commonly used libraries (e.g. Halogen) and tools (e.g. Pulp) are incompatible with the latest version of the compiler. Additionally, most documentation and learning resources reference the previous version. Until documentation, tooling, and libraries catch up it may be desirable to continue using 0.11.7, especially for newcomers to the language.
The Getting Started Guide https://github.com/purescript/documentation/blob/master/guides/Getting-Started.md has instructions for…getting started. Unfortunately those no longer work out of the box.
npm install purescript provides v0.11.7 of the compiler and
pulp init creates a project relying on
bower for dependency management. The problem is that
bower cannot restrict libs to just those which work with 0.11.7
bower install --save <package name> will install the latest version of a package (not necessarily 0.11.7) and this is precisely what
pulp init does.
An interim solution (and long term if you don’t want to use Bower) is to use
pulp --psc-package init and
pulp --psc-package build, etc. as outlined at https://github.com/purescript-contrib/pulp#dependency-management.
This will require downloading psc-package from https://github.com/purescript/psc-package/releases and using
Note that Other options are to grab a binary from https://github.com/purescript/purescript/releases/tag/v0.11.7 or compile it from source.
node-purescript could be updated at any time, so the safest thing to do is
npm install purescript now installs the new compiler version (0.12).
Edit: Clarify how
pulp init uses