awesome-purescript
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
- purs-loader for webpack
- psc-package - A package manager for PureScript based on package sets
Preludes
- purescript-prelude - The standard Prelude.
- purescript-batteries - A PureScript prelude with more features.
UI Libraries
CSS:
- purescript-css - A clean, type-safe library for describing, manipulating and rendering CSS.
React-based:
- purescript-thermite - A simple wrapper for ReactJS inspired by
react-blaze
. - purescript-react - React bindings for PureScript
- purescript-react-simple - A simplified wrapper around react.
- purescript-react-basic - An opinionated set of bindings to the React library, optimizing for the most basic use cases.
- 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.
Virtual-DOM based:
- purescript-halogen - A declarative, type-safe UI library.
Signals/Behaviors/FRP:
- 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.
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!
Components
- 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.
Effect Management
- purescript-eff - The Eff monad, for handling native side effects.
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
Discovery
- Module Linker - Extension that lets you browse docs by just clicking on
import
declarations on GitHub. - Pursuit
Editor and IDE Plugins
Community
More Resources
- Purescript Ecosystem - Ranked list of popular libraries.
Contribute
Contributions welcome! Read the contribution guidelines first.
License
To the extent possible under law, Pascal Hartig has waived all copyright and related or neighboring rights to this work.