awesome-purescript
  
  
    A collection of awesome Purescript libraries, resources and shiny things. 
    https://github.com/rowtype-yoga/awesome-purescript
  
        Last synced: 1 day ago 
        JSON representation
    
- 
            
Essential tools
- purs - The compiler.
 - purescript-language-server - The LSP implementation for PureScript.
 - purs-tidy - Purescript code formatter.
 - purescript-backend-optimizer - A tool to optimize JS genererated code.
 - Pursuit - The website containing documentation for PureScript packages.
 - esbuild - JavaScript bundler used by Spago.
 
 - 
            
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
- 
                    
Http routing
- graphql-fundeps - GraphQL client.
 
 
 - 
                    
 - 
            
Web
- 
                    
Deku
- web-storage - A low-level library for local storage.
 - web-socket - A low-level library for web sockets.
 - web-workers - A low-level library for web workers.
 
 
 - 
                    
 - 
            
CSS
- 
                    
Deku
- tecton - Domain-specific language for authoring CSS.
 
 
 - 
                    
 - 
            
Collaborative editing
 - 
            
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
- 
                    
Deku
- purescript - Core libraries for purescript.
 - rowtype-yoga - High quality, type-safe libraries from us 😎.
 - purescript-contrib - Common libraries that complement the core libraries.
 - purescript-web - Low-level bindings to common web specifications (standards).
 - purescript-node - Common libraries that complement the core libraries.
 - purescript-react - Libraries to work with the react ecosystem.
 
 
 - 
                    
 
            Programming Languages
          
          
        
            Categories
          
          
        
            Sub Categories
          
          
        
            Keywords
          
          
              
                purescript
                13
              
              
                web
                1
              
              
                ui
                1
              
              
                tools
                1
              
              
                codegen
                1
              
              
                profunctors
                1
              
              
                profunctor-optics
                1
              
              
                lenses
                1
              
              
                dependent-types
                1
              
              
                learn
                1
              
              
                documentation
                1
              
              
                cookbook
                1
              
              
                optimizer
                1
              
              
                typed-language
                1
              
              
                javascript
                1
              
              
                haskell
                1
              
              
                type-safety
                1
              
              
                testing
                1
              
              
                test-driven-development
                1
              
              
                functional-programming
                1
              
              
                css
                1
              
              
                reactjs
                1
              
              
                react
                1
              
              
                json
                1
              
              
                encoding
                1
              
              
                decoding
                1
              
              
                codec
                1
              
              
                graphql
                1
              
              
                node-http-server
                1
              
              
                node-http
                1
              
              
                http-server
                1
              
              
                http
                1
              
              
                alt-js
                1