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. Running npm install purescript
provides v0.11.7 of the compiler andpulp 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.7bower 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 psc-package install
.
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
Edit: npm install purescript
now installs the new compiler version (0.12).
Edit: Clarify how pulp init
uses bower install
.