1[](http://purescript.org)
3This is a platform-native compiler backend for [PureScript](https://github.com/purescript/purescript). It attempts to generate "sane", debuggable, and portable [C++11](https://isocpp.org/wiki/faq/cpp11) (or later) or [Go](https://golang.org/) code as an intermediate language, which is then compiled to a native executable binary. This also enables easy interoperability with existing C/C++ or Go frameworks and libraries on a number of platforms.
5There are two utilities in the purescript-native "suite": `pscpp` and `psgo`. The source code in this branch is for `psgo`, the purescript-to-Go transpiler. For the source code of the `pscpp` purescript-to-C++ transpiler, please see the [cpp branch](https://github.com/andyarvanitis/purescript-native/tree/cpp).
8* Although purescript-native should work on any platform supporting PureScript and modern C++ or Go, the generated code and resulting binary executables have been tested on:
9 * macOS Mojave 10.14.5 – full test suite
10 * For C++, Xcode 10.2.1's `clang` was used
11 * For Go, `go` version 1.12.7 was used
12 * Windows 10 x64 – full test suite
13 * C++: Visual Studio 2017 and `clang`
14 * Go: `go` version 1.12.7
15 * Linux Debian 9.5 amd64 – full test suite (C++)
16 * Default versions of `clang` and `gcc`
17 * Linux Debian 10 amd64 – full test suite (Go)
18 * Default version of `go`
19 * Raspberry Pi 3 B+ Raspbian official build (ARM), default versions of `clang` and `gcc`
22#### Requirements for building `pscpp` and `psgo`
24* [Haskell Stack](https://docs.haskellstack.org/en/stable/README/) (if you're running macOS 10.14.5+, you can use pre-built binaries from [here](https://github.com/andyarvanitis/purescript-native/releases/))
26#### Requirements for using PureScript + purescript-native
28* A recent version (0.13+) of [purescript](https://github.com/purescript/purescript/releases).
30* For `pscpp`, a C++11-capable toolchain, e.g. recent versions of clang, gcc, Microsoft Visual Studio
31 * GNU Make + `psc-package` is the default supported build tool, but you should be able to use your favorite package manager, C++ build system, tools, debuggers, etc.
32* For `psgo`, the [Go toolchain](https://golang.org) for your system
33 * You can use your favorite PureScript package manager and build tools – but for simplicity, [`spago`](https://github.com/spacchetti/spago) is recommended.
36#### For more information and a Getting Started guide, please see
37* [`pscpp`](https://github.com/andyarvanitis/purescript-native/blob/cpp/README-cpp.md)
38* [`psgo`](https://github.com/andyarvanitis/purescript-native/blob/golang/README-go.md)
keysesc to close
- j k
- move down, up
- enter
- open
- esc
- back, or up a level
- 1 2 3 4
- readme, files, commits, refs
- /
- filter
- y
- copy the clone command
- c
- compare the chosen commit with another (or shift-click both)
- ?
- show or hide this list