Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

andyarvanitis/purescript-native

Repository files navigation

PureScript

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

  • A recent version (0.13+) of purescript.

  • 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.
  • For psgo, the Go toolchain for your system

    • You can use your favorite PureScript package manager and build tools – but for simplicity, spago is recommended.

For more information and a Getting Started guide, please see


About

A native compiler backend for PureScript (via C++ or Golang)

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 105

AltStyle によって変換されたページ (->オリジナル) /