{"id":59912,"url":"https://github.com/rowtype-yoga/awesome-purescript","name":"awesome-purescript","description":"A collection of awesome Purescript libraries, resources and shiny things.","projects_count":73,"last_synced_at":"2026-07-16T22:00:20.466Z","repository":{"id":119398254,"uuid":"585268062","full_name":"rowtype-yoga/awesome-purescript","owner":"rowtype-yoga","description":"A collection of awesome Purescript libraries, resources and shiny things.","archived":false,"fork":false,"pushed_at":"2023-07-25T14:37:37.000Z","size":60,"stargazers_count":19,"open_issues_count":1,"forks_count":1,"subscribers_count":2,"default_branch":"main","last_synced_at":"2026-06-28T12:03:51.462Z","etag":null,"topics":["awesome","awesome-list","purescript"],"latest_commit_sha":null,"homepage":"","language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/rowtype-yoga.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"contributing.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-01-04T18:36:44.000Z","updated_at":"2026-05-05T12:30:38.000Z","dependencies_parsed_at":null,"dependency_job_id":"bcc3f4ef-58a9-447f-b485-5d2c22210d4b","html_url":"https://github.com/rowtype-yoga/awesome-purescript","commit_stats":null,"previous_names":["rowtype-yoga/awesome-purescript"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/rowtype-yoga/awesome-purescript","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rowtype-yoga%2Fawesome-purescript","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rowtype-yoga%2Fawesome-purescript/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rowtype-yoga%2Fawesome-purescript/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rowtype-yoga%2Fawesome-purescript/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rowtype-yoga","download_url":"https://codeload.github.com/rowtype-yoga/awesome-purescript/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rowtype-yoga%2Fawesome-purescript/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":35559858,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-07-16T02:00:06.687Z","response_time":83,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"created_at":"2024-05-08T00:00:22.074Z","updated_at":"2026-07-16T22:00:20.468Z","primary_language":"PureScript","list_of_lists":false,"displayable":true,"categories":["Essential tools","Organisations","Documentation, references and tutorials","Data types","Http","GraphQL","Json","UI","Web","CSS","Collaborative editing","Databases","Testing","FFI","IDEs","Lenses","Essential libraries","Maths","Random","Benchmark"],"sub_categories":["Deku","Http client","Http server","Http routing","React","Elmish","Halogen"],"readme":"# Awesome Purescript《ミ》[![Awesome](https://awesome.re/badge.svg)](https://awesome.re)\n\nA collection of awesome Purescript libraries, resources and shiny things.\n\n## Contents\n- [Essential tools](#essential-tools)\n- [Essential libraries](#essential-libraries)\n- [Documentation, references and tutorials](#documentation-references-and-tutorials)\n- [Data types](#data-types)\n- [Maths](#maths)\n- [Random](#random)\n- [Lenses](#lenses)\n- [Http](#http)\n    - [Http client](#http-client)\n    - [Http server](#http-server)\n    - [Http routing](#http-routing)\n- [GraphQL](#graphql)\n- [Json](#json)\n- [UI](#ui)\n    - [React](#react)\n    - [Halogen](#halogen)\n    - [Elmish](#elmish)\n    - [Deku](#deku)\n- [Web](#web)\n- [CSS](#css)\n- [Collaborative editing](#collaborative-editing)\n- [Databases](#databases)\n- [Testing](#testing)\n- [Benchmark](#benchmark)\n- [FFI](#ffi)\n- [IDEs](#ides)\n- [Organisations](#organisations)\n\n## Essential tools\n- [purs](https://github.com/purescript/purescript) - The compiler.\n- [spago](https://github.com/purescript/spago/) - Package manager and build tool.\n- [purescript-language-server](https://github.com/nwolverson/purescript-language-server) - The LSP implementation for PureScript.\n- [Pursuit](https://pursuit.purescript.org/) - The website containing documentation for PureScript packages.\n- [esbuild](https://esbuild.github.io/) - JavaScript bundler used by Spago.\n- [purs-tidy](https://github.com/natefaubion/purescript-tidy) - Purescript code formatter.\n- [purescript-backend-optimizer](https://github.com/aristanetworks/purescript-backend-optimizer) - A tool to optimize JS genererated code.\n\n## Essential libraries\n- [prelude](https://github.com/purescript/purescript-prelude) - The basic prelude.\n- [effect](https://github.com/purescript/purescript-effect) - Native side effects (equivalent to IO in Haskell).\n- [aff](https://github.com/purescript-contrib/purescript-aff) - Asynchronous effects.\n- [maybe](https://github.com/purescript/purescript-maybe) - Optional values.\n- [either](https://github.com/purescript/purescript-either) - Commonly used for error handling.\n- [arrays](https://github.com/purescript/purescript-arrays) - JavaScript arrays.\n- [transformers](https://github.com/purescript/purescript-transformers) - Monad transnformers ReaderT, StateT, MaybeT, etc (equivalent to mtl in Haskell).\n- [exists](https://github.com/purescript/purescript-exists) - Encodes existential types.\n\n## Documentation, references and tutorials\n- [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.\n- [PureScript by Example](https://book.purescript.org/) - A short but dense book from the creator of PureScript (with excercises).\n- [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.\n\n## Data types\n- [ordered-collections](https://github.com/purescript/purescript-ordered-collections) - Ordered Maps and Sets.\n- [unordered-collections](https://github.com/fehrenbach/purescript-unordered-collections) - Hash-based immutable Maps and Sets.\n- [lists](https://github.com/purescript/purescript-lists) - Linked lists.\n- [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.\n- [tree-rose](https://github.com/JordanMartinez/purescript-tree-rose) - Tree zippers.\n- 📀 [record-studio](https://github.com/rowtype-yoga/purescript-record-studio) - Working with records made easy.\n- 🎄 [yoga-tree](https://github.com/rowtype-yoga/purescript-yoga-tree) - A data type for representing trees with arbitrary number of children and handy zippers.\n- 🕉️ [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`.\n- 💍 [untagged-union](https://github.com/rowtype-yoga/purescript-untagged-union) - A data type for untagged unions.\n- 🔑 [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.\n- ❄️ [unique](https://github.com/rowtype-yoga/purescript-unique) - Abstract unique objects.\n\n## Maths\n- [js-bigints](https://github.com/rowtype-yoga/purescript-js-bigints) -  FFI bindings for JavaScript's BigInt. Does not require external js libraries.\n- [rationals](https://github.com/purescript-contrib/purescript-rationals) - Rational numbers.\n\n## Random\n- [random](https://github.com/purescript/purescript-random) - A basic library to generate random numbers.\n- [gen](https://github.com/purescript/purescript-gen) - A type class for random generator implementations.\n- [generate-values](https://github.com/jordanmartinez/purescript-generate-values) - An instance for gen and additional functions.\n\n## Lenses\n- [profunctor-lenses](https://github.com/purescript-contrib/purescript-profunctor-lenses) - A mechanism for updating, viewing, and setting values within nested data structures.\n- [barlow-lens](https://github.com/sigma-andex/purescript-barlow-lens) - Barlow lens makes creating complex lenses such as record lenses super simple.\n- [tidy-codegen-lens](https://github.com/JordanMartinez/purescript-tidy-codegen-lens) - Generate lenses and prisms for your data types automatically. \n\n## Http\n\n### Http client\n- [fetch](https://github.com/rowtype-yoga/purescript-fetch) - High-level library for the WHATWG Fetch Living Standard.\n\n### Http server\n- [httpurple](https://github.com/sigma-andex/purescript-httpurple) - A functional http server with a focus on type-safety and making the common case easy.\n\n### Http routing\n- [routing-duplex](https://github.com/natefaubion/purescript-routing-duplex) - Simple bidirectional parser/printers for your routing data types.\n\n## GraphQL\n- [graphql-fundeps](https://github.com/rowtype-yoga/purescript-graphql-fundeps) - GraphQL client.\n\n## Json\n- [yoga-json](https://github.com/rowtype-yoga/purescript-yoga-json) - Light-weight Json parser.\n- [argonaut](https://github.com/purescript-contrib/purescript-argonaut) - A collection of libraries for working with JSON in PureScript.\n- [json-codecs](https://github.com/jordanmartinez/purescript-json-codecs) - A bidirectional and unidirectional value-based and runtime-configurable typeclass-based JSON codec library. \n\n## UI\n\n### React\n- [react-basic](https://github.com/purescript-react/purescript-react-basic) - A binding to the React library.\n- [react-basic-hooks](https://github.com/purescript-react/purescript-react-basic-hooks) - React hook API for react-basic.\n- [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.\n- [nextjs](https://github.com/purescript-react/purescript-nextjs) - Use the #1 react framework in Purescript.\n\n### Halogen\n- [halogen](https://github.com/purescript-halogen/purescript-halogen) - A declarative, component-based library entirely written in purescript.\n\n### Elmish\n- [elmish](https://github.com/collegevine/purescript-elmish) - An ELM inspired framework (TEA) built on react.\n  \n### Deku\n- [deku](https://github.com/mikesol/purescript-deku) - A FRP web framework for apps that need to be fast. Have a nice documentation.\n\n## Web\n- [web-storage](https://github.com/purescript-web/purescript-web-storage) - A low-level library for local storage.\n- [web-socket](https://github.com/purescript-web/purescript-web-socket) - A low-level library for web sockets.\n- [web-workers](https://github.com/gbagan/purescript-web-workers) - A low-level library for web workers.\n\n## CSS\n- [tecton](https://github.com/nsaunders/purescript-tecton) - Domain-specific language for authoring CSS.\n\n## Collaborative editing\n- ⊗ [yjs](https://github.com/rowtype-yoga/purescript-yjs) - Purescript FFI bindings for [`yjs`](https://docs.yjs.dev).\n- 🚰 [tiptap](https://github.com/rowtype-yoga/purescript-tiptap) - Purescript FFI bindings for [tiptap](https://tiptap.dev/).\n\n## Databases\n- 💾 [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).\n- 🦸🏻‍♂️ [supabase](https://github.com/rowtype-yoga/purescript-supabase) - Purescript FFI bindings for [`supabase`](https://supabase.com/).\n\n## Testing\n- [spec](https://github.com/purescript-spec/purescript-spec) - A testing framework, inspired by hspec.\n- [quickcheck](https://github.com/purescript/purescript-quickcheck) - An implementation of QuickCheck in PureScript.\n- [assert](https://github.com/purescript/purescript-assert) - Basic assertions library for low level testing.\n\n## Benchmark\n- [minibench](https://github.com/purescript/purescript-minibench) - A minimal benchmarking library.\n\n## FFI\n- 🦥 [lazy-joe](https://github.com/rowtype-yoga/purescript-lazy-joe) - Purescript ffi for the lazy joe.\n- [js-objects](https://github.com/purescript-codegen/purescript-js-object) - Access js object methods and properties without writing JS bindings.\n\n## IDEs\n- [VS Code](https://github.com/nwolverson/vscode-ide-purescript) - VS Code extension.\n- [IntelliJ](https://github.com/intellij-purescript/intellij-purescript) - IntelliJ extension.\n\n## Organisations\nThe following organisations are the best entry points when looking for libraries (many of the libraries in this list come from these orgs):\n- [purescript](https://github.com/purescript) - Core libraries for purescript.\n- [purescript-contrib](https://github.com/purescript-contrib) - Common libraries that complement the core libraries.\n- [purescript-web](https://github.com/purescript-web) - Low-level bindings to common web specifications (standards).\n- [purescript-node](https://github.com/purescript-node) - Common libraries that complement the core libraries.\n- [rowtype-yoga](https://github.com/rowtype-yoga) - High quality, type-safe libraries from us 😎.\n- [purescript-react](https://github.com/purescript-react) - Libraries to work with the react ecosystem.\n","projects_url":"https://awesome.ecosyste.ms/api/v1/lists/rowtype-yoga%2Fawesome-purescript/projects"}