A Python backend for PureScript.
*Install a CPython distribution.
If you’re already a user of CPython, you can skip this step.
Otherwise, go to this official download page,
download and install any valid distribution(>=3.5
, <=3.8).
Install nodejs, which is distributed with a command npm
, and use npm
to install purescript
and its package manager spago
. The latest version of the purescript compiler that is supported is 0.13.8:
npm install -g purescript
npm install -g spago
You might check PureScript: Getting Started for more details.
Install PureScript-Python components:
curl -fsSL https://raw.githubusercontent.com/purescript-python/installer/master/install.sh | bash
Create an empty folder called hello-world
somewhere appropriate,get in, and call
spago init # init purescript project
pspy --init # init purescript-python local configuration
Add a key backend
with value "pspy"
, to file spago.dhall
of your hello-world
project. This is an example:
{-
Welcome to a Spago project!
You can edit this file as you like.
-}
{ name = "my-project"
, dependencies = [ "console", "effect", "psci-support" ]
, packages = ./packages.dhall
, sources = [ "src/**/*.purs", "test/**/*.purs" ]
, backend = "pspy" -- !!NOTE THIS!!
}
Write your code in src/**.purs
, and use spago run
to execute your project(the default entry module is Main
).
PureScript is close to Haskell, hence a Haskell user can pick it up in few seconds.
The home of PureScript is PureScript.org, where you can find things involving documentations.
A major motivation for my working on PureScript is its lightweighted but awesome IDE support.
For VSCode users, installing the plugin PureScript IDE
and File -> Preferences -> Settings -> (search purescript) -> Turn on "Add Spago sources"
will be sufficient. No need to install some GitHub repo and build for 4 hours! And this IDE feels swift!
pspy-blueprint
If pspy-blueprint
provided by the Python package purescripto
didn’t work(e.g., users of MacOSX < 10.15), you should manually install it from this repository, and currently there’re 2 options:
stack install .
, which will install pspy-blueprint
to your .local
PATH.For Linux users, you might also need to use chmod u+x <path/to/pspy-blueprint>
to allow the permission to execute.
This seems to be a recent issue produced by the upstream compiler, and you can resolve this by removing the current output
directory:
rm -rf $YOUR_PROJECT_ROOT/output && spago build && pspy --run
This will produce the result of your latest code.