GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — GitHub - andyarvanitis/purescript-native: A native compiler backend for PureScript (via C++ or Golang)

BranchesTags
Open more actions menu

Latest commit

 

History

4,046 Commits
4,046 Commits

Folders and files

NameName
Last commit message
Last commit date
app
app
 
 
runtime
runtime
 
 
src
src
 
 
support
support
 
 
test
test
 
 
.gitignore
.gitignore
 
 
ChangeLog.md
ChangeLog.md
 
 
LICENSE
LICENSE
 
 
README-cpp.md
README-cpp.md
 
 
README.md
README.md
 
 
Setup.hs
Setup.hs
 
 
package.yaml
package.yaml
 
 
stack.nix
stack.nix
 
 
stack.yaml
stack.yaml
 
 

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

  • pscpp
  • psgo

About

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

purescript.org

Resources

Readme
License
Activity

Stars

643 stars

Watchers

32 watching

Forks

45 forks
Report repository

Releases

Packages

Used by

Contributors

Languages

You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.