← Back to Awesome

Sections

PureScript

GitHub repository ↗ synced 2026/8/9

awesome-purescript Awesome

A curated list of delightful libraries, tools and other shiny things for PureScript.

Build Tooling

pulp
psvm-js

PureScript Version Manager

purescript-psa

A pretty, flexible error/warning reporting frontend for `psc`

grunt-purescript
gulp-purescript
psc-package

A package manager for PureScript based on package sets

spago

PureScript package manager and build tool powered by Dhall and package-sets

  • purs-loader for webpack

Preludes

purescript-prelude

The standard Prelude.

purescript-batteries

A PureScript prelude with more features.

UI Libraries

purescript-css

A clean, type-safe library for describing, manipulating and rendering CSS.

purescript-thermite

A simple wrapper for ReactJS inspired by `react-blaze`.

purescript-react

React bindings for PureScript

purescript-react-basic

An opinionated set of bindings to the React library, optimizing for the most basic use cases.

purescript-react-basic-hooks

An alternative way to define React components using React's "hooks" APIs. Compatible with `purescript-react-basic`.

purescript-pux

Build type-safe web apps with PureScript.

purescript-spork

Elm-like for PureScript.

purescript-concur

Concur UI framework. React backend, but can use others.

purescript-presto

Write Apps like Mathematical Equations!

purescript-optic-ui

Write single page web user interfaces declaratively and concisely with the help of lenses and traversals.

purescript-react-explor

Experiments with comonads for modelling React UIs.

purescript-halogen

A declarative, type-safe UI library.

purescript-hedwig

Hedwig is a fast, type safe, declarative PureScript library for building web applications.

purescript-flame

Flame is a fast & simple framework for building web applications in PureScript inspired by purescript-hedwig and Elm

purescript-flare

Applicative-style reactive user interfaces built on top of purescript-signal.

purescript-turbine

Purely functional frontend framework powered by FRP.

purescript-outwatch

A functional and reactive UI framework based on Rx and VirtualDom.

purescript-panda

What would TEA look like if we had no VDOM?

purescript-specular

A Reflex-Dom inspired UI library for PureScript.

purescript-sdom

An experiment in replacing the virtual DOM and avoiding diffing.

purescript-purview

A UI library based on the incremental lambda calculus.

CSS:

React-based:

Virtual-DOM based:

Signals/Behaviors/FRP:

URL Routers

purescript-routing

A clean, type-safe routing library for PureScript.

purescript-cofree-react-router

React-Router implemented in PureScript as Cofree Comonad for the Array functor.

purescript-trout

Type-level routing for PureScript.

purescript-boomboom

Never hard code your urls again. Boomboom them all!

purescript-routing-duplex

Simple bidirectional parser/printers for your routing data types.

Components

purescript-halogen-formless

A renderless component for building painless forms in Halogen

purescript-halogen-select

Building blocks for common selection user interfaces like dropdowns, typeaheads, image pickers, and calendars.

purescript-halogen-echarts

A Halogen integration for the popular ECharts charting library

purescript-halogen-day-picker

A day picker for Halogen

purescript-halogen-menu

Interactive menus in Halogen

Asynchronicity and Parallelism

purescript-aff

An asynchronous effect monad for PureScript.

purescript-affjax

An asynchronous AJAX library built using Aff.

purescript-queue

An asynchronous queue library for PureScript.

purescript-signal

An asynchronous signal library for PureScript, similar to Elm.

purescript-zeta

An alternative signal implementation in PureScript.

Effect Management

purescript-eff

The Eff monad, for handling native side effects.

purescript-effect

The Effect monad, for handling native side effects in PureScript v0.12.x.

Json Serialization

purescript-argonaut

Json encoding and decoding typeclasses.

purescript-simple-json

Json encoding and decoding through Generics.

Binary Serialization

purescript-arraybuffer

Bindings to the ArrayBuffer JavaScript type.

purescript-arraybuffer-class

Typeclasses for ArrayBuffer encoding and decoding.

purescript-arraybuffer-builder

Builder for serializing ArrayBuffer

purescript-parsing-dataview

Parser for deserializing ArrayBuffer

purescript-protobuf

Google Protocol Buffers

Testing

purescript-test-unit

An asynchronous unit test runner for PureScript.

purescript-quickcheck

An implementation of QuickCheck in PureScript.

purescript-quickcheck-laws

Law tests for core classes.

purescript-benchotron

Straightforward benchmarking for PureScript/JavaScript.

Learning Resources

Video - "PureScript (Maybe This Time We Get JavaScript Right)" by Bodil Stokke
Book - "PureScript by Example" by Phil Freeman
Book (ish) - Jordan's Purescript Reference
PureScript for Haskellers by Dennis Gosnell
Podcast - Functional Geekery Episode 22
Podcast - JSJ 189
Course (egghead.io) - Functional Programming Concepts in Purescript
Guide - Real World Halogen

Discovery

Module Linker

Extension that lets you browse docs by just clicking on `import` declarations on GitHub.

Pursuit

Editor and IDE Plugins

See Editor and tool support

Community

`/r/purescript` subreddit
`#purescript` on Freenode
Stack Overflow `purescript` tag
Google Group

More Resources

Purescript Ecosystem

Ranked list of popular libraries.