update
This commit is contained in:
297
html/purescript.md2.html
Normal file
297
html/purescript.md2.html
Normal file
@@ -0,0 +1,297 @@
|
||||
<h1 id="awesome-purescript-awesome">awesome-purescript <a
|
||||
href="https://github.com/sindresorhus/awesome"><img
|
||||
src="https://cdn.rawgit.com/sindresorhus/awesome/d7305f38d29fed78fa85652e3a63e154dd8e8829/media/badge.svg"
|
||||
alt="Awesome" /></a></h1>
|
||||
<blockquote>
|
||||
<p>A curated list of delightful libraries, tools and other shiny things
|
||||
for PureScript.</p>
|
||||
</blockquote>
|
||||
<h2 id="build-tooling">Build Tooling</h2>
|
||||
<ul>
|
||||
<li><a href="https://github.com/bodil/pulp">pulp</a></li>
|
||||
<li><a href="https://github.com/ThomasCrvsr/psvm-js">psvm-js</a> -
|
||||
PureScript Version Manager</li>
|
||||
<li><a
|
||||
href="https://github.com/natefaubion/purescript-psa">purescript-psa</a>
|
||||
- A pretty, flexible error/warning reporting frontend for
|
||||
<code>psc</code></li>
|
||||
<li><a
|
||||
href="https://github.com/purescript-contrib/grunt-purescript">grunt-purescript</a></li>
|
||||
<li><a
|
||||
href="https://github.com/purescript-contrib/gulp-purescript">gulp-purescript</a></li>
|
||||
<li><a href="https://github.com/ethul/purs-loader">purs-loader</a> for
|
||||
webpack</li>
|
||||
<li><a href="https://github.com/purescript/psc-package">psc-package</a>
|
||||
- A package manager for PureScript based on package sets</li>
|
||||
<li><a href="https://github.com/spacchetti/spago">spago</a> - PureScript
|
||||
package manager and build tool powered by Dhall and package-sets</li>
|
||||
</ul>
|
||||
<h2 id="preludes">Preludes</h2>
|
||||
<ul>
|
||||
<li><a
|
||||
href="https://github.com/purescript/purescript-prelude">purescript-prelude</a>
|
||||
- The standard Prelude.</li>
|
||||
<li><a
|
||||
href="https://github.com/tfausak/purescript-batteries">purescript-batteries</a>
|
||||
- A PureScript prelude with more features.</li>
|
||||
</ul>
|
||||
<h2 id="ui-libraries">UI Libraries</h2>
|
||||
<p>CSS:</p>
|
||||
<ul>
|
||||
<li><a
|
||||
href="https://github.com/slamdata/purescript-css">purescript-css</a> - A
|
||||
clean, type-safe library for describing, manipulating and rendering
|
||||
CSS.</li>
|
||||
</ul>
|
||||
<p>React-based:</p>
|
||||
<ul>
|
||||
<li><a
|
||||
href="https://github.com/paf31/purescript-thermite">purescript-thermite</a>
|
||||
- A simple wrapper for ReactJS inspired by
|
||||
<code>react-blaze</code>.</li>
|
||||
<li><a
|
||||
href="https://github.com/purescript-contrib/purescript-react">purescript-react</a>
|
||||
- React bindings for PureScript</li>
|
||||
<li><a
|
||||
href="https://github.com/lumihq/purescript-react-basic">purescript-react-basic</a>
|
||||
- An opinionated set of bindings to the React library, optimizing for
|
||||
the most basic use cases.</li>
|
||||
<li><a
|
||||
href="https://github.com/spicydonuts/purescript-react-basic-hooks">purescript-react-basic-hooks</a>
|
||||
- An alternative way to define React components using React’s “hooks”
|
||||
APIs. Compatible with <code>purescript-react-basic</code>.</li>
|
||||
<li><a
|
||||
href="https://github.com/alexmingoia/purescript-pux">purescript-pux</a>
|
||||
- Build type-safe web apps with PureScript.</li>
|
||||
<li><a
|
||||
href="https://github.com/natefaubion/purescript-spork">purescript-spork</a>
|
||||
- Elm-like for PureScript.</li>
|
||||
<li><a
|
||||
href="https://github.com/ajnsit/purescript-concur">purescript-concur</a>
|
||||
- Concur UI framework. React backend, but can use others.</li>
|
||||
<li><a
|
||||
href="https://github.com/juspay/purescript-presto">purescript-presto</a>
|
||||
- Write Apps like Mathematical Equations!</li>
|
||||
<li><a
|
||||
href="https://github.com/zrho/purescript-optic-ui">purescript-optic-ui</a>
|
||||
- Write single page web user interfaces declaratively and concisely with
|
||||
the help of lenses and traversals.</li>
|
||||
<li><a
|
||||
href="https://github.com/paf31/purescript-react-explore">purescript-react-explor</a>
|
||||
- Experiments with comonads for modelling React UIs.</li>
|
||||
</ul>
|
||||
<p>Virtual-DOM based:</p>
|
||||
<ul>
|
||||
<li><a
|
||||
href="https://github.com/slamdata/purescript-halogen">purescript-halogen</a>
|
||||
- A declarative, type-safe UI library.</li>
|
||||
<li><a
|
||||
href="https://github.com/utkarshkukreti/purescript-hedwig">purescript-hedwig</a>
|
||||
- Hedwig is a fast, type safe, declarative PureScript library for
|
||||
building web applications.</li>
|
||||
<li><a
|
||||
href="https://github.com/easafe/purescript-flame">purescript-flame</a> -
|
||||
Flame is a fast & simple framework for building web applications in
|
||||
PureScript inspired by purescript-hedwig and Elm</li>
|
||||
</ul>
|
||||
<p>Signals/Behaviors/FRP:</p>
|
||||
<ul>
|
||||
<li><a
|
||||
href="https://github.com/sharkdp/purescript-flare">purescript-flare</a>
|
||||
- Applicative-style reactive user interfaces built on top of
|
||||
purescript-signal.</li>
|
||||
<li><a
|
||||
href="https://github.com/funkia/purescript-turbine">purescript-turbine</a>
|
||||
- Purely functional frontend framework powered by FRP.</li>
|
||||
<li><a
|
||||
href="https://github.com/OutWatch/purescript-outwatch">purescript-outwatch</a>
|
||||
- A functional and reactive UI framework based on Rx and
|
||||
VirtualDom.</li>
|
||||
<li><a
|
||||
href="https://github.com/i-am-tom/purescript-panda">purescript-panda</a>
|
||||
- What would TEA look like if we had no VDOM?</li>
|
||||
<li><a
|
||||
href="https://github.com/restaumatic/purescript-specular">purescript-specular</a>
|
||||
- A Reflex-Dom inspired UI library for PureScript.</li>
|
||||
<li><a
|
||||
href="https://github.com/paf31/purescript-sdom">purescript-sdom</a> - An
|
||||
experiment in replacing the virtual DOM and avoiding diffing.</li>
|
||||
<li><a
|
||||
href="https://github.com/paf31/purescript-purview">purescript-purview</a>
|
||||
- A UI library based on the incremental lambda calculus.</li>
|
||||
</ul>
|
||||
<h2 id="url-routers">URL Routers</h2>
|
||||
<ul>
|
||||
<li><a
|
||||
href="https://github.com/slamdata/purescript-routing">purescript-routing</a>
|
||||
- A clean, type-safe routing library for PureScript.</li>
|
||||
<li><a
|
||||
href="https://github.com/coot/purescript-cofree-react-router">purescript-cofree-react-router</a>
|
||||
- React-Router implemented in PureScript as Cofree Comonad for the Array
|
||||
functor.</li>
|
||||
<li><a
|
||||
href="https://github.com/owickstrom/purescript-trout">purescript-trout</a>
|
||||
- Type-level routing for PureScript.</li>
|
||||
<li><a
|
||||
href="https://github.com/paluh/purescript-boomboom">purescript-boomboom</a>
|
||||
- Never hard code your urls again. Boomboom them all!</li>
|
||||
<li><a
|
||||
href="https://github.com/natefaubion/purescript-routing-duplex">purescript-routing-duplex</a>
|
||||
- Simple bidirectional parser/printers for your routing data types.</li>
|
||||
</ul>
|
||||
<h2 id="components">Components</h2>
|
||||
<ul>
|
||||
<li><a
|
||||
href="https://github.com/thomashoneyman/purescript-halogen-formless">purescript-halogen-formless</a>
|
||||
- A renderless component for building painless forms in Halogen</li>
|
||||
<li><a
|
||||
href="https://github.com/citizennet/purescript-halogen-select">purescript-halogen-select</a>
|
||||
- Building blocks for common selection user interfaces like dropdowns,
|
||||
typeaheads, image pickers, and calendars.</li>
|
||||
<li><a
|
||||
href="https://github.com/slamdata/purescript-halogen-echarts">purescript-halogen-echarts</a>
|
||||
- A Halogen integration for the popular ECharts charting library</li>
|
||||
<li><a
|
||||
href="https://github.com/rnons/purescript-halogen-day-picker">purescript-halogen-day-picker</a>
|
||||
- A day picker for Halogen</li>
|
||||
<li><a
|
||||
href="https://github.com/slamdata/purescript-halogen-menu">purescript-halogen-menu</a>
|
||||
- Interactive menus in Halogen</li>
|
||||
</ul>
|
||||
<h2 id="asynchronicity-and-parallelism">Asynchronicity and
|
||||
Parallelism</h2>
|
||||
<ul>
|
||||
<li><a
|
||||
href="https://github.com/slamdata/purescript-aff">purescript-aff</a> -
|
||||
An asynchronous effect monad for PureScript.</li>
|
||||
<li><a
|
||||
href="https://github.com/slamdata/purescript-aff">purescript-affjax</a>
|
||||
- An asynchronous AJAX library built using Aff.</li>
|
||||
<li><a
|
||||
href="https://github.com/athanclark/purescript-queue">purescript-queue</a>
|
||||
- An asynchronous queue library for PureScript.</li>
|
||||
<li><a
|
||||
href="https://github.com/bodil/purescript-signal">purescript-signal</a>
|
||||
- An asynchronous signal library for PureScript, similar to Elm.</li>
|
||||
<li><a
|
||||
href="https://github.com/athanclark/purescript-zeta">purescript-zeta</a>
|
||||
- An alternative signal implementation in PureScript.</li>
|
||||
</ul>
|
||||
<h2 id="effect-management">Effect Management</h2>
|
||||
<ul>
|
||||
<li><a
|
||||
href="https://github.com/purescript/purescript-eff">purescript-eff</a> -
|
||||
The Eff monad, for handling native side effects.</li>
|
||||
<li><a
|
||||
href="https://github.com/purescript/purescript-effect">purescript-effect</a>
|
||||
- The Effect monad, for handling native side effects in PureScript
|
||||
v0.12.x.</li>
|
||||
</ul>
|
||||
<h2 id="json-serialization">Json Serialization</h2>
|
||||
<ul>
|
||||
<li><a
|
||||
href="https://github.com/purescript-contrib/purescript-argonaut">purescript-argonaut</a>
|
||||
- Json encoding and decoding typeclasses.</li>
|
||||
<li><a
|
||||
href="https://github.com/justinwoo/purescript-simple-json">purescript-simple-json</a>
|
||||
- Json encoding and decoding through Generics.</li>
|
||||
</ul>
|
||||
<h2 id="binary-serialization">Binary Serialization</h2>
|
||||
<ul>
|
||||
<li><a
|
||||
href="https://github.com/jacereda/purescript-arraybuffer">purescript-arraybuffer</a>
|
||||
- Bindings to the ArrayBuffer JavaScript type.</li>
|
||||
<li><a
|
||||
href="https://github.com/athanclark/purescript-arraybuffer-class">purescript-arraybuffer-class</a>
|
||||
- Typeclasses for ArrayBuffer encoding and decoding.</li>
|
||||
<li><a
|
||||
href="https://github.com/jamesdbrock/purescript-arraybuffer-builder">purescript-arraybuffer-builder</a>
|
||||
- Builder for serializing ArrayBuffer</li>
|
||||
<li><a
|
||||
href="https://github.com/jamesdbrock/purescript-parsing-dataview">purescript-parsing-dataview</a>
|
||||
- Parser for deserializing ArrayBuffer</li>
|
||||
<li><a
|
||||
href="https://github.com/xc-jp/purescript-protobuf">purescript-protobuf</a>
|
||||
- Google Protocol Buffers</li>
|
||||
</ul>
|
||||
<h2 id="testing">Testing</h2>
|
||||
<ul>
|
||||
<li><a
|
||||
href="https://github.com/bodil/purescript-test-unit">purescript-test-unit</a>
|
||||
- An asynchronous unit test runner for PureScript.</li>
|
||||
<li><a
|
||||
href="https://github.com/purescript/purescript-quickcheck">purescript-quickcheck</a>
|
||||
- An implementation of QuickCheck in PureScript.</li>
|
||||
<li><a
|
||||
href="https://github.com/garyb/purescript-quickcheck-laws">purescript-quickcheck-laws</a>
|
||||
- Law tests for core classes.</li>
|
||||
<li><a
|
||||
href="https://github.com/hdgarrood/purescript-benchotron">purescript-benchotron</a>
|
||||
- Straightforward benchmarking for PureScript/JavaScript.</li>
|
||||
</ul>
|
||||
<h2 id="learning-resources">Learning Resources</h2>
|
||||
<ul>
|
||||
<li><a href="https://www.youtube.com/watch?v=yIlDBPiMb0o">Video -
|
||||
“PureScript (Maybe This Time We Get JavaScript Right)” by Bodil
|
||||
Stokke</a></li>
|
||||
<li><a href="https://leanpub.com/purescript/read">Book - “PureScript by
|
||||
Example” by Phil Freeman</a></li>
|
||||
<li><a
|
||||
href="https://github.com/JordanMartinez/purescript-jordans-reference">Book
|
||||
(ish) - Jordan’s Purescript Reference</a></li>
|
||||
<li><a
|
||||
href="http://www.arow.info/blog/posts/2015-12-17-purescript-intro.html">PureScript
|
||||
for Haskellers by Dennis Gosnell</a></li>
|
||||
<li><a
|
||||
href="https://www.functionalgeekery.com/episode-22-lambdaconf-2015-part-1/">Podcast
|
||||
- Functional Geekery Episode 22</a></li>
|
||||
<li><a
|
||||
href="https://devchat.tv/js-jabber/189-jsj-purescript-with-john-a-de-goes-and-phil-freeman">Podcast
|
||||
- JSJ 189</a></li>
|
||||
<li><a
|
||||
href="https://egghead.io/courses/functional-programming-concepts-in-purescript">Course
|
||||
(egghead.io) - Functional Programming Concepts in Purescript</a></li>
|
||||
<li><a href="https://thomashoneyman.com/guides/real-world-halogen">Guide
|
||||
- Real World Halogen</a></li>
|
||||
</ul>
|
||||
<h2 id="discovery">Discovery</h2>
|
||||
<ul>
|
||||
<li><a href="https://fiatjaf.alhur.es/module-linker/#/purescript">Module
|
||||
Linker</a> - Extension that lets you browse docs by just clicking on
|
||||
<code>import</code> declarations on GitHub.</li>
|
||||
<li><a href="https://pursuit.purescript.org/">Pursuit</a></li>
|
||||
</ul>
|
||||
<h2 id="editor-and-ide-plugins">Editor and IDE Plugins</h2>
|
||||
<p>See <a
|
||||
href="https://github.com/purescript/purescript/wiki/Editor-and-tool-support">Editor
|
||||
and tool support</a></p>
|
||||
<h2 id="community">Community</h2>
|
||||
<ul>
|
||||
<li><a
|
||||
href="http://www.reddit.com/r/purescript"><code>/r/purescript</code>
|
||||
subreddit</a></li>
|
||||
<li><a
|
||||
href="http://webchat.freenode.net/?channels=purescript"><code>#purescript</code>
|
||||
on Freenode</a></li>
|
||||
<li><a href="http://stackoverflow.com/questions/tagged/purescript">Stack
|
||||
Overflow <code>purescript</code> tag</a></li>
|
||||
<li><a href="https://groups.google.com/forum/#!forum/purescript">Google
|
||||
Group</a></li>
|
||||
</ul>
|
||||
<h2 id="more-resources">More Resources</h2>
|
||||
<ul>
|
||||
<li><a href="https://github.com/xgrommx/purescript-ecosystem">Purescript
|
||||
Ecosystem</a> - Ranked list of popular libraries.</li>
|
||||
</ul>
|
||||
<h2 id="contribute">Contribute</h2>
|
||||
<p>Contributions welcome! Read the <a
|
||||
href="contributing.md">contribution guidelines</a> first.</p>
|
||||
<h2 id="license">License</h2>
|
||||
<p><a href="http://creativecommons.org/publicdomain/zero/1.0/"><img
|
||||
src="http://i.creativecommons.org/p/zero/1.0/88x31.png"
|
||||
alt="CC0" /></a></p>
|
||||
<p>To the extent possible under law, <a href="https://passy.me/">Pascal
|
||||
Hartig</a> has waived all copyright and related or neighboring rights to
|
||||
this work.</p>
|
||||
<p><a href="https://github.com/passy/awesome-purescript">purescript.md
|
||||
Github</a></p>
|
||||
Reference in New Issue
Block a user