1# Awesome Purescript《ミ》[](https://awesome.re)
3A collection of awesome Purescript libraries, resources and shiny things.
6- [Essential tools](#essential-tools)
7- [Essential libraries](#essential-libraries)
8- [Documentation, references and tutorials](#documentation-references-and-tutorials)
9- [Data types](#data-types)
14 - [Http client](#http-client)
15 - [Http server](#http-server)
16 - [Http routing](#http-routing)
26- [Collaborative editing](#collaborative-editing)
27- [Databases](#databases)
29- [Benchmark](#benchmark)
32- [Organisations](#organisations)
35- [purs](https://github.com/purescript/purescript) - The compiler.
36- [spago](https://github.com/purescript/spago/) - Package manager and build tool.
37- [purescript-language-server](https://github.com/nwolverson/purescript-language-server) - The LSP implementation for PureScript.
38- [Pursuit](https://pursuit.purescript.org/) - The website containing documentation for PureScript packages.
39- [esbuild](https://esbuild.github.io/) - JavaScript bundler used by Spago.
40- [purs-tidy](https://github.com/natefaubion/purescript-tidy) - Purescript code formatter.
41- [purescript-backend-optimizer](https://github.com/aristanetworks/purescript-backend-optimizer) - A tool to optimize JS genererated code.
44- [prelude](https://github.com/purescript/purescript-prelude) - The basic prelude.
45- [effect](https://github.com/purescript/purescript-effect) - Native side effects (equivalent to IO in Haskell).
46- [aff](https://github.com/purescript-contrib/purescript-aff) - Asynchronous effects.
47- [maybe](https://github.com/purescript/purescript-maybe) - Optional values.
48- [either](https://github.com/purescript/purescript-either) - Commonly used for error handling.
49- [arrays](https://github.com/purescript/purescript-arrays) - JavaScript arrays.
50- [transformers](https://github.com/purescript/purescript-transformers) - Monad transnformers ReaderT, StateT, MaybeT, etc (equivalent to mtl in Haskell).
51- [exists](https://github.com/purescript/purescript-exists) - Encodes existential types.
53## Documentation, references and tutorials
54- [PureScript: Jordan's Reference](https://jordanmartinez.github.io/purescript-jordans-reference-site/) - A comprehensive reference for the PureScript language and its idioms, ranging from total beginner to advanced topics.
55- [PureScript by Example](https://book.purescript.org/) - A short but dense book from the creator of PureScript (with excercises).
56- [PureScript Cookbook](https://github.com/JordanMartinez/purescript-cookbook/) - A collection of simple self-contained examples covering common front-end, back-end and CLI tasks in PureScript.
59- [ordered-collections](https://github.com/purescript/purescript-ordered-collections) - Ordered Maps and Sets.
60- [unordered-collections](https://github.com/fehrenbach/purescript-unordered-collections) - Hash-based immutable Maps and Sets.
61- [lists](https://github.com/purescript/purescript-lists) - Linked lists.
62- [fast-vect](https://github.com/sigma-andex/purescript-fast-vect) - Fast, type-safe vector libary for Purescript inspired by Idris. A vector is list with its size encoded in the type.
63- [tree-rose](https://github.com/JordanMartinez/purescript-tree-rose) - Tree zippers.
64- 📀 [record-studio](https://github.com/rowtype-yoga/purescript-record-studio) - Working with records made easy.
65- 🎄 [yoga-tree](https://github.com/rowtype-yoga/purescript-yoga-tree) - A data type for representing trees with arbitrary number of children and handy zippers.
66- 🕉️ [yoga-om](https://github.com/rowtype-yoga/purescript-yoga-om) - A powerful general purpose type for writing applications. Includes dependency injection via `Reader`, error `Variant`s and of course `Aff`.
67- 💍 [untagged-union](https://github.com/rowtype-yoga/purescript-untagged-union) - A data type for untagged unions.
68- 🔑 [vault](https://github.com/rowtype-yoga/purescript-vault) - A typed, persistent store for values of arbitrary types. This is a port of the Haskell [Vault](https://github.com/HeinrichApfelmus/vault) library by Heinrich Apfelmus.
69- ❄️ [unique](https://github.com/rowtype-yoga/purescript-unique) - Abstract unique objects.
72- [js-bigints](https://github.com/rowtype-yoga/purescript-js-bigints) - FFI bindings for JavaScript's BigInt. Does not require external js libraries.
73- [rationals](https://github.com/purescript-contrib/purescript-rationals) - Rational numbers.
76- [random](https://github.com/purescript/purescript-random) - A basic library to generate random numbers.
77- [gen](https://github.com/purescript/purescript-gen) - A type class for random generator implementations.
78- [generate-values](https://github.com/jordanmartinez/purescript-generate-values) - An instance for gen and additional functions.
81- [profunctor-lenses](https://github.com/purescript-contrib/purescript-profunctor-lenses) - A mechanism for updating, viewing, and setting values within nested data structures.
82- [barlow-lens](https://github.com/sigma-andex/purescript-barlow-lens) - Barlow lens makes creating complex lenses such as record lenses super simple.
83- [tidy-codegen-lens](https://github.com/JordanMartinez/purescript-tidy-codegen-lens) - Generate lenses and prisms for your data types automatically.
88- [fetch](https://github.com/rowtype-yoga/purescript-fetch) - High-level library for the WHATWG Fetch Living Standard.
91- [httpurple](https://github.com/sigma-andex/purescript-httpurple) - A functional http server with a focus on type-safety and making the common case easy.
94- [routing-duplex](https://github.com/natefaubion/purescript-routing-duplex) - Simple bidirectional parser/printers for your routing data types.
97- [graphql-fundeps](https://github.com/rowtype-yoga/purescript-graphql-fundeps) - GraphQL client.
100- [yoga-json](https://github.com/rowtype-yoga/purescript-yoga-json) - Light-weight Json parser.
101- [argonaut](https://github.com/purescript-contrib/purescript-argonaut) - A collection of libraries for working with JSON in PureScript.
102- [json-codecs](https://github.com/jordanmartinez/purescript-json-codecs) - A bidirectional and unidirectional value-based and runtime-configurable typeclass-based JSON codec library.
107- [react-basic](https://github.com/purescript-react/purescript-react-basic) - A binding to the React library.
108- [react-basic-hooks](https://github.com/purescript-react/purescript-react-basic-hooks) - React hook API for react-basic.
109- [react-icons](https://github.com/purescript-react/purescript-react-icons) - [react-icons`](https://react-icons.github.io/react-icons/), a gigantic collection of high-quality icons, for Purescript.
110- [nextjs](https://github.com/purescript-react/purescript-nextjs) - Use the #1 react framework in Purescript.
113- [halogen](https://github.com/purescript-halogen/purescript-halogen) - A declarative, component-based library entirely written in purescript.
116- [elmish](https://github.com/collegevine/purescript-elmish) - An ELM inspired framework (TEA) built on react.
119- [deku](https://github.com/mikesol/purescript-deku) - A FRP web framework for apps that need to be fast. Have a nice documentation.
122- [web-storage](https://github.com/purescript-web/purescript-web-storage) - A low-level library for local storage.
123- [web-socket](https://github.com/purescript-web/purescript-web-socket) - A low-level library for web sockets.
124- [web-workers](https://github.com/gbagan/purescript-web-workers) - A low-level library for web workers.
127- [tecton](https://github.com/nsaunders/purescript-tecton) - Domain-specific language for authoring CSS.
129## Collaborative editing
130- ⊗ [yjs](https://github.com/rowtype-yoga/purescript-yjs) - Purescript FFI bindings for [`yjs`](https://docs.yjs.dev).
131- 🚰 [tiptap](https://github.com/rowtype-yoga/purescript-tiptap) - Purescript FFI bindings for [tiptap](https://tiptap.dev/).
134- 💾 [yoga-postgres](https://github.com/rowtype-yoga/purescript-yoga-postgres) - `node-postgres` FFI bindings, originally forked from [`purescript-node-postgres`](https://github.com/epost/purescript-node-postgres).
135- 🦸🏻♂️ [supabase](https://github.com/rowtype-yoga/purescript-supabase) - Purescript FFI bindings for [`supabase`](https://supabase.com/).
138- [spec](https://github.com/purescript-spec/purescript-spec) - A testing framework, inspired by hspec.
139- [quickcheck](https://github.com/purescript/purescript-quickcheck) - An implementation of QuickCheck in PureScript.
140- [assert](https://github.com/purescript/purescript-assert) - Basic assertions library for low level testing.
143- [minibench](https://github.com/purescript/purescript-minibench) - A minimal benchmarking library.
146- 🦥 [lazy-joe](https://github.com/rowtype-yoga/purescript-lazy-joe) - Purescript ffi for the lazy joe.
147- [js-objects](https://github.com/purescript-codegen/purescript-js-object) - Access js object methods and properties without writing JS bindings.
150- [VS Code](https://github.com/nwolverson/vscode-ide-purescript) - VS Code extension.
151- [IntelliJ](https://github.com/intellij-purescript/intellij-purescript) - IntelliJ extension.
154The following organisations are the best entry points when looking for libraries (many of the libraries in this list come from these orgs):
155- [purescript](https://github.com/purescript) - Core libraries for purescript.
156- [purescript-contrib](https://github.com/purescript-contrib) - Common libraries that complement the core libraries.
157- [purescript-web](https://github.com/purescript-web) - Low-level bindings to common web specifications (standards).
158- [purescript-node](https://github.com/purescript-node) - Common libraries that complement the core libraries.
159- [rowtype-yoga](https://github.com/rowtype-yoga) - High quality, type-safe libraries from us 😎.
160- [purescript-react](https://github.com/purescript-react) - Libraries to work with the react ecosystem.
keysesc to close
- j k
- move down, up
- enter
- open
- esc
- back, or up a level
- 1 2 3 4
- readme, files, commits, refs
- /
- filter
- y
- copy the clone command
- c
- compare the chosen commit with another (or shift-click both)
- ?
- show or hide this list