{"id":81,"url":"https://github.com/passy/awesome-purescript","last_synced_at":"2025-03-03T09:31:12.562Z","repository":{"id":31664025,"uuid":"35229424","full_name":"passy/awesome-purescript","owner":"passy","description":"A curation of awesome PureScript libraries, resources and shiny things.","archived":false,"fork":false,"pushed_at":"2022-11-30T07:57:32.000Z","size":44,"stargazers_count":456,"open_issues_count":9,"forks_count":22,"subscribers_count":25,"default_branch":"master","last_synced_at":"2024-05-20T03:47:45.533Z","etag":null,"topics":["awesome","awesome-list","list","purescript"],"latest_commit_sha":null,"homepage":null,"language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/passy.png","metadata":{"files":{"readme":"readme.md","changelog":null,"contributing":"contributing.md","funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2015-05-07T15:55:01.000Z","updated_at":"2024-05-18T07:06:45.000Z","dependencies_parsed_at":"2023-01-14T19:30:45.800Z","dependency_job_id":null,"html_url":"https://github.com/passy/awesome-purescript","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/passy%2Fawesome-purescript","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/passy%2Fawesome-purescript/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/passy%2Fawesome-purescript/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/passy%2Fawesome-purescript/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/passy","download_url":"https://codeload.github.com/passy/awesome-purescript/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":241027181,"owners_count":19896721,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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"}},"keywords":["awesome","awesome-list","list","purescript"],"created_at":"2024-01-05T20:12:45.804Z","updated_at":"2025-03-03T09:31:12.512Z","avatar_url":"https://github.com/passy.png","language":null,"readme":"# awesome-purescript [![Awesome](https://cdn.rawgit.com/sindresorhus/awesome/d7305f38d29fed78fa85652e3a63e154dd8e8829/media/badge.svg)](https://github.com/sindresorhus/awesome)\n\n\u003e A curated list of delightful libraries, tools and other shiny things for PureScript.\n\n## Build Tooling\n\n- [pulp](https://github.com/bodil/pulp)\n- [psvm-js](https://github.com/ThomasCrvsr/psvm-js) - PureScript Version Manager\n- [purescript-psa](https://github.com/natefaubion/purescript-psa) - A pretty, flexible error/warning reporting frontend for `psc`\n- [grunt-purescript](https://github.com/purescript-contrib/grunt-purescript)\n- [gulp-purescript](https://github.com/purescript-contrib/gulp-purescript)\n- [purs-loader](https://github.com/ethul/purs-loader) for webpack\n- [psc-package](https://github.com/purescript/psc-package) - A package manager for PureScript based on package sets\n- [spago](https://github.com/spacchetti/spago) - PureScript package manager and build tool powered by Dhall and package-sets\n\n## Preludes\n\n- [purescript-prelude](https://github.com/purescript/purescript-prelude) - The standard Prelude.\n- [purescript-batteries](https://github.com/tfausak/purescript-batteries) - A PureScript prelude with more features.\n\n## UI Libraries\n\nCSS:\n\n- [purescript-css](https://github.com/slamdata/purescript-css) - A clean, type-safe library for describing, manipulating and rendering CSS.\n\nReact-based:\n\n- [purescript-thermite](https://github.com/paf31/purescript-thermite) - A simple wrapper for ReactJS inspired by `react-blaze`.\n- [purescript-react](https://github.com/purescript-contrib/purescript-react) - React bindings for PureScript\n- [purescript-react-basic](https://github.com/lumihq/purescript-react-basic) - An opinionated set of bindings to the React library, optimizing for the most basic use cases.\n- [purescript-react-basic-hooks](https://github.com/spicydonuts/purescript-react-basic-hooks) - An alternative way to define React components using React's \"hooks\" APIs. Compatible with `purescript-react-basic`.\n- [purescript-pux](https://github.com/alexmingoia/purescript-pux) - Build type-safe web apps with PureScript.\n- [purescript-spork](https://github.com/natefaubion/purescript-spork) - Elm-like for PureScript.\n- [purescript-concur](https://github.com/ajnsit/purescript-concur) - Concur UI framework. React backend, but can use others.\n- [purescript-presto](https://github.com/juspay/purescript-presto) - Write Apps like Mathematical Equations!\n- [purescript-optic-ui](https://github.com/zrho/purescript-optic-ui) - Write single page web user interfaces declaratively and concisely with the help of lenses and traversals.\n- [purescript-react-explor](https://github.com/paf31/purescript-react-explore) - Experiments with comonads for modelling React UIs.\n\nVirtual-DOM based:\n\n- [purescript-halogen](https://github.com/slamdata/purescript-halogen) - A declarative, type-safe UI library.\n- [purescript-hedwig](https://github.com/utkarshkukreti/purescript-hedwig) - Hedwig is a fast, type safe, declarative PureScript library for building web applications.\n- [purescript-flame](https://github.com/easafe/purescript-flame) - Flame is a fast \u0026 simple framework for building web applications in PureScript inspired by purescript-hedwig and Elm\n\nSignals/Behaviors/FRP:\n\n- [purescript-flare](https://github.com/sharkdp/purescript-flare) - Applicative-style reactive user interfaces built on top of purescript-signal.\n- [purescript-turbine](https://github.com/funkia/purescript-turbine) - Purely functional frontend framework powered by FRP.\n- [purescript-outwatch](https://github.com/OutWatch/purescript-outwatch) - A functional and reactive UI framework based on Rx and VirtualDom.\n- [purescript-panda](https://github.com/i-am-tom/purescript-panda) - What would TEA look like if we had no VDOM?\n- [purescript-specular](https://github.com/restaumatic/purescript-specular) - A Reflex-Dom inspired UI library for PureScript.\n- [purescript-sdom](https://github.com/paf31/purescript-sdom) - An experiment in replacing the virtual DOM and avoiding diffing.\n- [purescript-purview](https://github.com/paf31/purescript-purview) - A UI library based on the incremental lambda calculus.\n\n## URL Routers\n\n- [purescript-routing](https://github.com/slamdata/purescript-routing) - A clean, type-safe routing library for PureScript.\n- [purescript-cofree-react-router](https://github.com/coot/purescript-cofree-react-router) - React-Router implemented in PureScript as Cofree Comonad for the Array functor.\n- [purescript-trout](https://github.com/owickstrom/purescript-trout) - Type-level routing for PureScript.\n- [purescript-boomboom](https://github.com/paluh/purescript-boomboom) - Never hard code your urls again. Boomboom them all!\n- [purescript-routing-duplex](https://github.com/natefaubion/purescript-routing-duplex) - Simple bidirectional parser/printers for your routing data types.\n\n## Components\n\n- [purescript-halogen-formless](https://github.com/thomashoneyman/purescript-halogen-formless) - A renderless component for building painless forms in Halogen\n- [purescript-halogen-select](https://github.com/citizennet/purescript-halogen-select) - Building blocks for common selection user interfaces like dropdowns, typeaheads, image pickers, and calendars.\n- [purescript-halogen-echarts](https://github.com/slamdata/purescript-halogen-echarts) - A Halogen integration for the popular ECharts charting library\n- [purescript-halogen-day-picker](https://github.com/rnons/purescript-halogen-day-picker) - A day picker for Halogen\n- [purescript-halogen-menu](https://github.com/slamdata/purescript-halogen-menu) - Interactive menus in Halogen\n\n## Asynchronicity and Parallelism\n\n- [purescript-aff](https://github.com/slamdata/purescript-aff) - An asynchronous effect monad for PureScript.\n- [purescript-affjax](https://github.com/slamdata/purescript-aff) - An asynchronous AJAX library built using Aff.\n- [purescript-queue](https://github.com/athanclark/purescript-queue) - An asynchronous queue library for PureScript.\n- [purescript-signal](https://github.com/bodil/purescript-signal) - An asynchronous signal library for PureScript, similar to Elm.\n- [purescript-zeta](https://github.com/athanclark/purescript-zeta) - An alternative signal implementation in PureScript.\n\n## Effect Management\n\n- [purescript-eff](https://github.com/purescript/purescript-eff) - The Eff monad, for handling native side effects.\n- [purescript-effect](https://github.com/purescript/purescript-effect) - The Effect monad, for handling native side effects in PureScript v0.12.x.\n\n## Json Serialization\n\n- [purescript-argonaut](https://github.com/purescript-contrib/purescript-argonaut) - Json encoding and decoding typeclasses.\n- [purescript-simple-json](https://github.com/justinwoo/purescript-simple-json) - Json encoding and decoding through Generics.\n\n## Binary Serialization\n\n- [purescript-arraybuffer](https://github.com/jacereda/purescript-arraybuffer) - Bindings to the ArrayBuffer JavaScript type.\n- [purescript-arraybuffer-class](https://github.com/athanclark/purescript-arraybuffer-class) - Typeclasses for ArrayBuffer encoding and decoding.\n- [purescript-arraybuffer-builder](https://github.com/jamesdbrock/purescript-arraybuffer-builder) - Builder for serializing ArrayBuffer\n- [purescript-parsing-dataview](https://github.com/jamesdbrock/purescript-parsing-dataview) - Parser for deserializing ArrayBuffer\n- [purescript-protobuf](https://github.com/xc-jp/purescript-protobuf) - Google Protocol Buffers\n\n## Testing\n\n- [purescript-test-unit](https://github.com/bodil/purescript-test-unit) - An asynchronous unit test runner for PureScript.\n- [purescript-quickcheck](https://github.com/purescript/purescript-quickcheck) - An implementation of QuickCheck in PureScript.\n- [purescript-quickcheck-laws](https://github.com/garyb/purescript-quickcheck-laws) - Law tests for core classes.\n- [purescript-benchotron](https://github.com/hdgarrood/purescript-benchotron) - Straightforward benchmarking for PureScript/JavaScript.\n\n## Learning Resources\n\n- [Video - \"PureScript (Maybe This Time We Get JavaScript Right)\" by Bodil Stokke](https://www.youtube.com/watch?v=yIlDBPiMb0o)\n- [Book - \"PureScript by Example\" by Phil Freeman](https://leanpub.com/purescript/read)\n- [Book (ish) - Jordan's Purescript Reference](https://github.com/JordanMartinez/purescript-jordans-reference)\n- [PureScript for Haskellers by Dennis Gosnell](http://www.arow.info/blog/posts/2015-12-17-purescript-intro.html)\n- [Podcast - Functional Geekery Episode 22](https://www.functionalgeekery.com/episode-22-lambdaconf-2015-part-1/)\n- [Podcast - JSJ 189](https://devchat.tv/js-jabber/189-jsj-purescript-with-john-a-de-goes-and-phil-freeman)\n- [Course (egghead.io) - Functional Programming Concepts in Purescript](https://egghead.io/courses/functional-programming-concepts-in-purescript)\n- [Guide - Real World Halogen](https://thomashoneyman.com/guides/real-world-halogen)\n\n## Discovery\n\n- [Module Linker](https://fiatjaf.alhur.es/module-linker/#/purescript) - Extension that lets you browse docs by just clicking on `import` declarations on GitHub.\n- [Pursuit](https://pursuit.purescript.org/)\n\n## Editor and IDE Plugins\n\nSee [Editor and tool support](https://github.com/purescript/purescript/wiki/Editor-and-tool-support)\n\n## Community\n\n- [`/r/purescript` subreddit](http://www.reddit.com/r/purescript)\n- [`#purescript` on Freenode](http://webchat.freenode.net/?channels=purescript)\n- [Stack Overflow `purescript` tag](http://stackoverflow.com/questions/tagged/purescript)\n- [Google Group](https://groups.google.com/forum/#!forum/purescript)\n\n## More Resources\n\n- [Purescript Ecosystem](https://github.com/xgrommx/purescript-ecosystem) - Ranked list of popular libraries.\n\n## Contribute\n\nContributions welcome! Read the [contribution guidelines](contributing.md) first.\n\n\n## License\n\n[![CC0](http://i.creativecommons.org/p/zero/1.0/88x31.png)](http://creativecommons.org/publicdomain/zero/1.0/)\n\nTo the extent possible under law, [Pascal Hartig](https://passy.me/) has waived all copyright and related or neighboring rights to this work.\n","funding_links":[],"categories":["Programming Languages","Awesome","Technical","编程语言","Others","Uncategorized","front-end-development","Live Site:   [searchAwesome](https://search-awesome.vercel.app/)","Programming Language Lists","Misc","Themed Directories"],"sub_categories":["[Elm](http://elm-lang.org)","awesome-*","Uncategorized","PureScript Lists"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpassy%2Fawesome-purescript","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpassy%2Fawesome-purescript","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpassy%2Fawesome-purescript/lists"}