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

awesome-purescript

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

Last synced: 14 days ago
JSON representation

Benchmark

Deku

  • minibench - A minimal benchmarking library.

Collaborative editing

Deku

CSS

Deku

  • tecton - Domain-specific language for authoring CSS.

Databases

Deku

Data types

  • vault - A typed, persistent store for values of arbitrary types. This is a port of the Haskell Vault library by Heinrich Apfelmus.
  • 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 Variants and of course Aff.
  • untagged-union - A data type for untagged unions.
  • unique - Abstract unique objects.

Documentation, references and tutorials

  • PureScript by Example - A short but dense book from the creator of PureScript (with excercises).
  • 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.

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.

Essential tools

FFI

Deku

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

GraphQL

Http routing

Http

Http client

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

Http routing

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

Http server

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

IDEs

Deku

Json

Http routing

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

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.

Maths

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

Organisations

Deku

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.

Testing

Deku

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

UI

Deku

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

Elmish

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

Halogen

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

React

Web

Deku