Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

awesome-purescript

A collection of awesome Purescript libraries, resources and shiny things.
https://github.com/rowtype-yoga/awesome-purescript

Last synced: 4 days ago
JSON representation

  • Essential tools

  • Essential libraries

    • prelude - The basic prelude.
    • effect - Native side effects (equivalent to IO in Haskell).
    • aff - Asynchronous effects.
    • maybe - Optional values.
    • either - Commonly used for error handling.
    • arrays - JavaScript arrays.
    • transformers - Monad transnformers ReaderT, StateT, MaybeT, etc (equivalent to mtl in Haskell).
    • exists - Encodes existential types.
  • Documentation, references and tutorials

    • PureScript: Jordan's Reference - A comprehensive reference for the PureScript language and its idioms, ranging from total beginner to advanced topics.
    • PureScript Cookbook - A collection of simple self-contained examples covering common front-end, back-end and CLI tasks in PureScript.
    • PureScript by Example - A short but dense book from the creator of PureScript (with excercises).
  • Data types

    • ordered-collections - Ordered Maps and Sets.
    • unordered-collections - Hash-based immutable Maps and Sets.
    • lists - Linked lists.
    • fast-vect - Fast, type-safe vector libary for Purescript inspired by Idris. A vector is list with its size encoded in the type.
    • tree-rose - Tree zippers.
    • record-studio - Working with records made easy.
    • yoga-tree - A data type for representing trees with arbitrary number of children and handy zippers.
    • yoga-om - A powerful general purpose type for writing applications. Includes dependency injection via `Reader`, error `Variant`s and of course `Aff`.
    • untagged-union - A data type for untagged unions.
    • unique - Abstract unique objects.
    • 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.
  • Maths

    • js-bigints - FFI bindings for JavaScript's BigInt. Does not require external js libraries.
    • rationals - Rational numbers.
  • Random

    • random - A basic library to generate random numbers.
    • gen - A type class for random generator implementations.
    • generate-values - An instance for gen and additional functions.
  • Lenses

    • profunctor-lenses - A mechanism for updating, viewing, and setting values within nested data structures.
    • barlow-lens - Barlow lens makes creating complex lenses such as record lenses super simple.
    • tidy-codegen-lens - Generate lenses and prisms for your data types automatically.
  • Http

    • Http routing

      • routing-duplex - Simple bidirectional parser/printers for your routing data types.
    • Http client

      • fetch - High-level library for the WHATWG Fetch Living Standard.
    • Http server

      • httpurple - A functional http server with a focus on type-safety and making the common case easy.
  • Json

    • Http routing

      • argonaut - A collection of libraries for working with JSON in PureScript.
      • yoga-json - Light-weight Json parser.
      • json-codecs - A bidirectional and unidirectional value-based and runtime-configurable typeclass-based JSON codec library.
  • UI

    • React

      • react-basic - A binding to the React library.
      • react-basic-hooks - React hook API for react-basic.
      • react-icons - [react-icons`](https://react-icons.github.io/react-icons/), a gigantic collection of high-quality icons, for Purescript.
      • nextjs - Use the #1 react framework in Purescript.
    • Halogen

      • halogen - A declarative, component-based library entirely written in purescript.
    • Elmish

      • elmish - An ELM inspired framework (TEA) built on react.
    • Deku

      • deku - A FRP web framework for apps that need to be fast. Have a nice documentation.
  • Testing

    • Deku

      • quickcheck - An implementation of QuickCheck in PureScript.
      • assert - Basic assertions library for low level testing.
      • spec - A testing framework, inspired by hspec.
  • Benchmark

    • Deku

      • minibench - A minimal benchmarking library.
  • GraphQL

  • Web

    • Deku

  • CSS

    • Deku

      • tecton - Domain-specific language for authoring CSS.
  • Collaborative editing

    • Deku

      • yjs - Purescript FFI bindings for [`yjs`](https://docs.yjs.dev).
      • tiptap - Purescript FFI bindings for [tiptap](https://tiptap.dev/).
  • Databases

    • Deku

      • yoga-postgres - `node-postgres` FFI bindings, originally forked from [`purescript-node-postgres`](https://github.com/epost/purescript-node-postgres).
      • supabase - Purescript FFI bindings for [`supabase`](https://supabase.com/).
  • FFI

    • Deku

      • lazy-joe - Purescript ffi for the lazy joe.
      • js-objects - Access js object methods and properties without writing JS bindings.
  • IDEs

  • Organisations