You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This is a platform-native compiler backend for PureScript. It attempts to generate "sane", debuggable, and portable C++11 (or later) or Go 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.
There are two utilities in the purescript-native "suite": pscpp and psgo. The source code in this branch is for pscpp, the purescript-to-C++ transpiler. For the source code of the psgo purescript-to-Go transpiler / build tool, please see the golang branch.
Platforms
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:
macOS Mojave 10.14.5 – full test suite
For C++, Xcode 10.2.1's clang was used
For Go, go version 1.12.7 was used
Windows 10 x64 – full test suite
C++: Visual Studio 2017 and clang
Go: go version 1.12.7
Linux Debian 9.5 amd64 – full test suite (C++)
Default versions of clang and gcc
Linux Debian 10 amd64 – full test suite (Go)
Default version of go
Raspberry Pi 3 B+ Raspbian official build (ARM), default versions of clang and gcc
Requirements for building pscpp and psgo
Haskell Stack (if you're running macOS 10.14.5+, you can use pre-built binaries from here)
Requirements for using PureScript + purescript-native
For pscpp, a C++11-capable toolchain, e.g. recent versions of clang, gcc, Microsoft Visual Studio
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.