Courses & TutorialsProgramming
Awesome PureScript – Massive Collection of Resources
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
- spago – PureScript package manager and build tool powered by Dhall and 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-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.
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-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.
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
Community
More Resources
- Purescript Ecosystem – Ranked list of popular libraries.
Tags
Javascript PureScript