open-index/open-npm huggingface dataset:
npm package: @purescript/argonaut
Description: PureScript's implementation of Argonaut
Latest version: 3.0.1

# purescript-argonaut

[![Latest release](http://img.shields.io/github/release/purescript-contrib/purescript-argonaut.svg)](https://github.com/purescript-contrib/purescript-argonaut/releases)
[![Build Status](https://travis-ci.org/purescript-contrib/purescript-argonaut.svg)](https://travis-ci.org/purescript-contrib/purescript-argonaut)
[![Maintainer: slamdata](https://img.shields.io/badge/maintainer-slamdata-lightgrey.svg)](http://github.com/slamdata)

Go to [purescript-argonaut-core/README.md](https://github.com/purescript-contrib/purescript-argonaut-core/blob/master/README.md) to read an overview of Argonaut and how to use it.

This library bundles together the following:

- [purescript-argonaut-core](https://github.com/purescript-contrib/purescript-argonaut-core) - basic parsing, printing, folding and types for `Json`
- [purescript-argonaut-codecs](https://github.com/purescript-contrib/purescript-argonaut-codecs) - `EncodeJson` and `DecodeJson` classes, their instances
- [purescript-argonaut-traversals](https://github.com/purescript-contrib/purescript-argonaut-traversals) - `JCursor`, prisms and traversals for `Json`
npm package: @purescript/argonaut-codecs
Description: Codecs for purescript argonaut
Latest version: 3.1.0

# purescript-argonaut-codecs

[![Latest release](http://img.shields.io/github/release/purescript-contrib/purescript-argonaut-codecs.svg)](https://github.com/slamdata/purescript-argonaut-codecs/releases)
[![Build Status](https://travis-ci.org/purescript-contrib/purescript-argonaut-codecs.svg?branch=master)](https://travis-ci.org/purescript-contrib/purescript-argonaut-codecs)
[![Maintainer: slamdata](https://img.shields.io/badge/maintainer-slamdata-lightgrey.svg)](http://github.com/slamdata)

`EncodeJson` and `DecodeJson` classes and instances, useful combinators for encoding and decoding `Json` values.

## Installation

```shell
bower install purescript-argonaut-codecs
```

## Documentation

Module documentation is [published on Pursuit](http://pursuit.purescript.org/packages/purescript-argonaut-codecs).
npm package: @purescript/argonaut-traversals
Description: Prisms, traversals, and zipper for the Argonaut `Json` type.
Latest version: 3.1.0

# purescript-argonaut-traversals

[![Latest release](http://img.shields.io/github/release/purescript-contrib/purescript-argonaut-traversals.svg)](https://github.com/purescript-contrib/purescript-argonaut-traversals/releases)
[![Build Status](https://travis-ci.org/purescript-contrib/purescript-argonaut-traversals.svg?branch=master)](https://travis-ci.org/purescript-contrib/purescript-argonaut-traversals)
[![Maintainer: slamdata](https://img.shields.io/badge/maintainer-slamdata-lightgrey.svg)](http://github.com/slamdata)

Prisms, traversals, and zipper for the Argonaut `Json` type.

## Installation

```
bower install purescript-argonaut-traversals
```

## Documentation

Module documentation is [published on Pursuit](http://pursuit.purescript.org/packages/purescript-argonaut-traversals).
npm package: @purescript/arraybuffer-types
Description: PureScript type definitions for JavaScript ArrayBuffers
Latest version: 1.0.0

# purescript-arraybuffer-types

[![Latest release](http://img.shields.io/github/release/purescript-contrib/purescript-arraybuffer-types.svg)](https://github.com/purescript-contrib/purescript-arraybuffer-types/releases)
[![Build Status](https://travis-ci.org/purescript-contrib/purescript-arraybuffer-types.svg?branch=master)](https://travis-ci.org/purescript-contrib/purescript-arraybuffer-types)
[![Maintainer: garyb](https://img.shields.io/badge/maintainer-garyb-lightgrey.svg)](http://github.com/garyb)

Type definitions for JavaScript `ArrayBuffer`s.

## Installation

```
bower install purescript-arraybuffer-types
```

## Documentation

Module documentation is [published on Pursuit](http://pursuit.purescript.org/packages/purescript-arraybuffer-types).
npm package: @purescript/arrays
Description: Array utility functions
Latest version: 4.1.0

# purescript-arrays

[![Latest release](http://img.shields.io/github/release/purescript/purescript-arrays.svg)](https://github.com/purescript/purescript-arrays/releases)
[![Build status](https://travis-ci.org/purescript/purescript-arrays.svg?branch=master)](https://travis-ci.org/purescript/purescript-arrays)

Utility functions for the `Array` type - JavaScript's native arrays.

## Installation

```
bower install purescript-arrays
```

## Documentation

Module documentation is [published on Pursuit](http://pursuit.purescript.org/packages/purescript-arrays).
npm package: @purescript/assert
Description: Basic assertions library for low level testing
Latest version: 3.0.0

# purescript-assert

[![Latest release](http://img.shields.io/github/release/purescript/purescript-assert.svg)](https://github.com/purescript/purescript-assert/releases)
[![Build status](https://travis-ci.org/purescript/purescript-assert.svg?branch=master)](https://travis-ci.org/purescript/purescript-assert)

Basic assertions library for low level testing. This is primarily for testing the core libraries that cannot use [`purescript-quickcheck`](https://github.com/purescript/purescript-quickcheck) without resulting in circular dependencies.

## Installation

```
bower install purescript-assert
```

## Documentation

Module documentation is [published on Pursuit](http://pursuit.purescript.org/packages/purescript-assert).
npm package: @purescript/bifunctors
Description: Bifunctors and biapplicatives
Latest version: 3.0.0

# purescript-bifunctors

[![Latest release](http://img.shields.io/github/release/purescript/purescript-bifunctors.svg)](https://github.com/purescript/purescript-bifunctors/releases)
[![Build status](https://travis-ci.org/purescript/purescript-bifunctors.svg?branch=master)](https://travis-ci.org/purescript/purescript-bifunctors)

Bifunctors and biapplicatives.

## Installation

```
bower install purescript-bifunctors
```

## Documentation

Module documentation is [published on Pursuit](http://pursuit.purescript.org/packages/purescript-bifunctors).
npm package: @purescript/catenable-lists
Description: Strict catenable lists
Latest version: 4.0.0

# purescript-catenable-lists

[![Latest release](http://img.shields.io/github/release/purescript/purescript-catenable-lists.svg)](https://github.com/purescript/purescript-catenable-lists/releases)
[![Build status](https://travis-ci.org/purescript/purescript-catenable-lists.svg?branch=master)](https://travis-ci.org/purescript/purescript-catenable-lists)

Strict catenable list implementation for PureScript.

The implementation is based on a queue data type that is backed by a
pair of lists.

See the following references for further information.
* [Simple and Efficient Purely Functional Queues and Dequeues](http://www.westpoint.edu/eecs/SiteAssets/SitePages/Faculty%20Publication%20Documents/Okasaki/jfp95queue.pdf) (Okasaki 1995)
* [Purely Functional Data Structures](http://www.cs.cmu.edu/~rwh/theses/okasaki.pdf) (Okasaki 1996)

## Installation

```bash
bower install --save purescript-catenable-lists
```

## Documentation

Module documentation is [published on Pursuit](http://pursuit.purescript.org/packages/purescript-catenable-lists).

## Benchmarks

![cons](benchmarks/cons.png)

![snoc](benchmarks/snoc.png)

![uncons](benchmarks/uncons.png)

![append](benchmarks/append.png)

![snoc-uncons](benchmarks/snoc-uncons.png)

![cons-uncons-n](benchmarks/cons-uncons-n.png)

![snoc-uncons-n](benchmarks/snoc-uncons-n.png)
npm package: @purescript/console
Description: Console-related functions and effect type for PureScript.
Latest version: 3.0.0

# purescript-console

[![Latest release](http://img.shields.io/github/release/purescript/purescript-eff.svg)](https://github.com/purescript/purescript-console/releases)
[![Build status](https://travis-ci.org/purescript/purescript-console.svg?branch=master)](https://travis-ci.org/purescript/purescript-console)

Console-related functions and effect type.

## Installation

```
bower install purescript-console
```

## Documentation

Module documentation is [published on Pursuit](http://pursuit.purescript.org/packages/purescript-console).
npm package: @purescript/const
Description: Constant data type for PureScript
Latest version: 3.0.0

# purescript-const

[![Latest release](http://img.shields.io/github/release/purescript/purescript-const.svg)](https://github.com/purescript/purescript-const/releases)
[![Build status](https://travis-ci.org/purescript/purescript-const.svg?branch=master)](https://travis-ci.org/purescript/purescript-const)

Constant data type.

## Installation

```
bower install purescript-const
```

## Documentation

Module documentation is [published on Pursuit](http://pursuit.purescript.org/packages/purescript-const).
npm package: @purescript/contravariant
Description: Contravariant functors for PureScript
Latest version: 3.0.0

# purescript-contravariant

[![Latest release](http://img.shields.io/github/release/purescript/purescript-contravariant.svg)](https://github.com/purescript/purescript-contravariant/releases)
[![Build status](https://travis-ci.org/purescript/purescript-contravariant.svg?branch=master)](https://travis-ci.org/purescript/purescript-contravariant)

Contravariant functors.

## Installation

```
bower install purescript-contravariant
```

## Documentation

Module documentation is [published on Pursuit](http://pursuit.purescript.org/packages/purescript-contravariant).
npm package: @purescript/control
Description: Common control classes and utility functions
Latest version: 3.2.0

# purescript-control

[![Latest release](http://img.shields.io/github/release/purescript/purescript-control.svg)](https://github.com/purescript/purescript-control/releases)
[![Build status](https://travis-ci.org/purescript/purescript-control.svg?branch=master)](https://travis-ci.org/purescript/purescript-control)

This library provides a range of utility functions for the classes in the `Functor`, `Applicative`, `Monad` hierarchy, along with additional classes such as `Alternative`, `MonadPlus`, `Comonad` and `Lazy`.

## Installation

```
bower install purescript-control
```

## Class hierarchy

![Class diagram](class-diagram.png)

## Documentation

Module documentation is [published on Pursuit](http://pursuit.purescript.org/packages/purescript-control).
npm package: @purescript/datetime
Description: PureScript library for date and time values
Latest version: 3.0.0

# purescript-datetime

[![Latest release](http://img.shields.io/github/release/purescript/purescript-datetime.svg)](https://github.com/purescript/purescript-datetime/releases)
[![Build status](https://travis-ci.org/purescript/purescript-datetime.svg?branch=master)](https://travis-ci.org/purescript/purescript-datetime)

Date and time types and functions.

## Installation

```
bower install purescript-datetime
```

## Documentation

This libary provides platform-independent representations of date and time. Parsing specific date formats, such as the ISO 8601 format, is the responsibility of other libraries, such as the [purescript-js-date](https://github.com/purescript-contrib/purescript-js-date) package. Likewise, writing a date/time type to string to display to humans is the responsibility of other libraries, such as the [purescript-formatters](https://github.com/slamdata/purescript-formatters) package.

Module documentation is [published on Pursuit](http://pursuit.purescript.org/packages/purescript-datetime).
npm package: @purescript/debug
Description: Console based debugging functions
Latest version: 3.0.0

# purescript-debug

[![Latest release](http://img.shields.io/github/release/garyb/purescript-debug.svg)](https://github.com/garyb/purescript-debug/releases)
[![Build Status](https://travis-ci.org/garyb/purescript-debug.svg?branch=master)](https://travis-ci.org/garyb/purescript-debug)

Console based debugging functions.

## Installation

```
bower install purescript-debug
```

## Documentation

Module documentation is [published on Pursuit](http://pursuit.purescript.org/packages/purescript-debug).
npm package: @purescript/distributive
Description: Distributive type class for PureScript
Latest version: 3.0.0

# purescript-distributive

[![Latest release](http://img.shields.io/github/release/purescript/purescript-distributive.svg)](https://github.com/purescript/purescript-distributive/releases)
[![Build status](https://travis-ci.org/purescript/purescript-distributive.svg?branch=master)](https://travis-ci.org/purescript/purescript-distributive)

Distributive typeclass - the categorical dual of `Traversable`.

## Installation

```
bower install purescript-distributive
```

## Documentation

Module documentation is [published on Pursuit](http://pursuit.purescript.org/packages/purescript-distributive).
npm package: @purescript/eff
Description: The Eff monad, for handling native side effects
Latest version: 3.1.0

# purescript-eff

[![Latest release](http://img.shields.io/github/release/purescript/purescript-eff.svg)](https://github.com/purescript/purescript-eff/releases)
[![Build status](https://travis-ci.org/purescript/purescript-eff.svg?branch=master)](https://travis-ci.org/purescript/purescript-eff)

The `Eff` monad, for handling native side effects.

## Installation

```
bower install purescript-eff
```

## Documentation

Module documentation is [published on Pursuit](http://pursuit.purescript.org/packages/purescript-eff).
npm package: @purescript/either
Description: Values with two possibilities
Latest version: 3.0.0

# purescript-either

[![Latest release](http://img.shields.io/github/release/purescript/purescript-either.svg)](https://github.com/purescript/purescript-either/releases)
[![Build status](https://travis-ci.org/purescript/purescript-either.svg?branch=master)](https://travis-ci.org/purescript/purescript-either)

The `Either` type provides is used to represent values that can be one of two possibilities. For example, `Either Int Number` can be used in a place where either integers or floating point numbers are acceptable.

A common use for this type is error handling, where by convention the `Left` constructor carries error messages and the `Right` constructor carries expected values (“`Right` is right”). This convention is used as the `Functor`, `Applicative`, `Monad`, etc. instances all operate on the `Right` part of the `Either`.

## Installation

```
bower install purescript-either
```

## Documentation

Module documentation is [published on Pursuit](http://pursuit.purescript.org/packages/purescript-either).
npm package: @purescript/enums
Description: Operations for sequentially ordered types
Latest version: 3.0.0

# purescript-enums

[![Latest release](http://img.shields.io/github/release/purescript/purescript-enums.svg)](https://github.com/purescript/purescript-enums/releases)
[![Build status](https://travis-ci.org/purescript/purescript-enums.svg?branch=master)](https://travis-ci.org/purescript/purescript-enums)

Operations for sequentially ordered types.

## Installation

```
bower install purescript-enums
```

## Documentation

Module documentation is [published on Pursuit](http://pursuit.purescript.org/packages/purescript-enums).
npm package: @purescript/exceptions
Description: Exception effects
Latest version: 3.0.0

# purescript-exceptions

[![Latest release](http://img.shields.io/github/release/purescript/purescript-exceptions.svg)](https://github.com/purescript/purescript-exceptions/releases)
[![Build status](https://travis-ci.org/purescript/purescript-exceptions.svg?branch=master)](https://travis-ci.org/purescript/purescript-exceptions)

Exception effects.

## Installation

```
bower install purescript-exceptions
```

## Documentation

Module documentation is [published on Pursuit](http://pursuit.purescript.org/packages/purescript-exceptions).
npm package: @purescript/exists
Description: Existential types as a library
Latest version: 3.0.0

# purescript-exists

[![Latest release](http://img.shields.io/github/release/purescript/purescript-exists.svg)](https://github.com/purescript/purescript-exists/releases)
[![Build status](https://travis-ci.org/purescript/purescript-exists.svg?branch=master)](https://travis-ci.org/purescript/purescript-exists)

The `Exists` type, for encoding existential types.

## Installation

```
bower install purescript-exists
```

## Overview

The type `Exists f` is isomorphic to the existential type `exists a. f a`.

For example, consider the type `exists s. Tuple s (s -> Tuple s a)` which represents infinite streams of elements of type `a`.

This type can be constructed by creating a type constructor `StreamF` as follows:

```purescript
data StreamF a s = StreamF s (s -> Tuple s a)
```

We can then define the type of streams using `Exists`:

```purescript
type Stream a = Exists (StreamF a)
```

The `mkExists` and `runExists` functions then enable packing and unpacking of `SteamF` into/out of `Stream`.

## Documentation

Module documentation is [published on Pursuit](http://pursuit.purescript.org/packages/purescript-exists).
npm package: @purescript/foldable-traversable
Description: Classes for foldable and traversable data structures
Latest version: 3.0.0

# purescript-foldable-traversable

[![Latest release](http://img.shields.io/github/release/purescript/purescript-foldable-traversable.svg)](https://github.com/purescript/purescript-foldable-traversable/releases)
[![Build status](https://travis-ci.org/purescript/purescript-foldable-traversable.svg?branch=master)](https://travis-ci.org/purescript/purescript-foldable-traversable)

Classes for foldable and traversable data structures.

## Installation

```
bower install purescript-foldable-traversable
```

## Documentation

Module documentation is [published on Pursuit](http://pursuit.purescript.org/packages/purescript-foldable-traversable).
npm package: @purescript/foreign
Description: PureScript library for dealing with foreign data (JSON and JavaScript objects)
Latest version: 4.0.0

# purescript-foreign

[![Latest release](http://img.shields.io/github/release/purescript/purescript-foreign.svg)](https://github.com/purescript/purescript-foreign/releases)
[![Build status](https://travis-ci.org/purescript/purescript-foreign.svg?branch=master)](https://travis-ci.org/purescript/purescript-foreign)

Library for dealing with foreign data (JavaScript objects).

## Installation

```
bower install purescript-foreign
```

## Examples

- [Simple types](examples/JSONSimpleTypes.purs)
- [Arrays](examples/JSONArrays.purs)
- [Objects](examples/Objects.purs)
- [Complex objects](examples/Complex.purs)
- [Applicative style parser](examples/Applicative.purs)
- [Maybe for nulls](examples/MaybeNullable.purs)
- [Nested objects](examples/Nested.purs)
- [Unions](examples/Union.purs)
- [Parser errors](examples/ParseErrors.purs)

## Documentation

Module documentation is [published on Pursuit](http://pursuit.purescript.org/packages/purescript-foreign).
npm package: @purescript/free
Description: Free, Cofree, Yoneda, Coyoneda, Trampoline
Latest version: 4.0.1

# purescript-free

[![Latest release](http://img.shields.io/github/release/purescript/purescript-free.svg)](https://github.com/purescript/purescript-free/releases)
[![Build status](https://travis-ci.org/purescript/purescript-free.svg?branch=master)](https://travis-ci.org/purescript/purescript-free)

Free monad, Cofree comonad, Yoneda and Coyoneda functors, and the Trampoline monad implementations for PureScript.

The Free monad implementation is represented using a sequential data structure.

See the following reference for further information.
* [Reflection without Remorse](http://okmij.org/ftp/Haskell/zseq.pdf) (Ploeg and Kiselyov 2014)

## Installation

```
bower install purescript-free
```

## Documentation

Module documentation is [published on Pursuit](http://pursuit.purescript.org/packages/purescript-free).

## Benchmarks

The following benchmarks compare the current implementation with the implementation at `v0.6.1` (purescript/purescript-free@0df59c5d459fed983131856886fc3a4b43234f1f), which used the `Gosub` technique to defer monadic binds.

![left-bind-small](benchmark/left-bind-small.png)

![left-bind-large](benchmark/left-bind-large.png)

![right-bind-small](benchmark/right-bind-small.png)

![right-bind-large](benchmark/right-bind-large.png)
npm package: @purescript/functions
Description: Function combinators and types for uncurried multi-argument functions
Latest version: 3.0.0

# purescript-functions

[![Latest release](http://img.shields.io/github/release/purescript/purescript-functions.svg)](https://github.com/purescript/purescript-functions/releases)
[![Build status](https://travis-ci.org/purescript/purescript-functions.svg?branch=master)](https://travis-ci.org/purescript/purescript-functions)

Function combinators and types for uncurried multi-argument functions.

## Installation

```
bower install purescript-functions
```

## Documentation

Module documentation is [published on Pursuit](http://pursuit.purescript.org/packages/purescript-functions).
npm package: @purescript/functors
Description: Functor products, coproducts, and composition
Latest version: 2.1.0

# purescript-functors

[![Latest release](http://img.shields.io/bower/v/purescript-functors.svg)](https://github.com/purescript/purescript-functors/releases)
[![Build Status](https://travis-ci.org/purescript/purescript-functors.svg?branch=master)](https://travis-ci.org/purescript/purescript-functors)

Functor products, coproducts, and composition.

## Installation

```
bower install purescript-functors
```

## Documentation

Module documentation is [published on Pursuit](http://pursuit.purescript.org/packages/purescript-functors).
npm package: @purescript/gen
Description: [![Latest release](http://img.shields.io/github/release/purescript/purescript-gen.svg)](https://github.com/purescript/purescript-gen/releases) [![Build status](https://travis-ci.org/purescript/purescript-gen.svg?branch=master)](https://travis-ci.org/pures
Latest version: 1.1.0

# purescript-gen

[![Latest release](http://img.shields.io/github/release/purescript/purescript-gen.svg)](https://github.com/purescript/purescript-gen/releases)
[![Build status](https://travis-ci.org/purescript/purescript-gen.svg?branch=master)](https://travis-ci.org/purescript/purescript-gen)

A type class for random generator implementations.

## Installation

```
bower install purescript-gen
```

## Documentation

Module documentation is [published on Pursuit](http://pursuit.purescript.org/packages/purescript-gen).
npm package: @purescript/generics
Description: Generic programming for PureScript
Latest version: 4.0.0

# purescript-generics

[![Latest release](http://img.shields.io/github/release/purescript/purescript-generics.svg)](https://github.com/purescript/purescript-generics/releases)
[![Build status](https://travis-ci.org/purescript/purescript-generics.svg?branch=master)](https://travis-ci.org/purescript/purescript-generics)

Generic programming.

## Usage

```
bower install purescript-generics
```

The methods in the `Generic` type class can be derived in versions >= 0.7.3 of the PureScript compiler with the following syntax:

``` purescript
derive instance genericMyType :: Generic MyType
```

There are some example usages of the library [in the tests](test/Main.purs).

## Documentation

Module documentation is [published on Pursuit](http://pursuit.purescript.org/packages/purescript-generics).
npm package: @purescript/globals
Description: Typed definitions for standard Javascript globals
Latest version: 3.0.0

# purescript-globals

[![Latest release](http://img.shields.io/github/release/purescript/purescript-globals.svg)](https://github.com/purescript/purescript-globals/releases)
[![Build status](https://travis-ci.org/purescript/purescript-globals.svg?branch=master)](https://travis-ci.org/purescript/purescript-globals)

Typed definitions for standard Javascript globals.

## Installation

```
bower install purescript-globals
```

## Documentation

Module documentation is [published on Pursuit](http://pursuit.purescript.org/packages/purescript-globals).
npm package: @purescript/identity
Description: Identity value
Latest version: 3.1.0

# purescript-identity

[![Latest release](http://img.shields.io/github/release/purescript/purescript-identity.svg)](https://github.com/purescript/purescript-identity/releases)
[![Build status](https://travis-ci.org/purescript/purescript-identity.svg?branch=master)](https://travis-ci.org/purescript/purescript-identity)

Identity value.

## Installation

```
bower install purescript-identity
```

## Documentation

Module documentation is [published on Pursuit](http://pursuit.purescript.org/packages/purescript-identity).
npm package: @purescript/integers
Description: Functions and bitwise operators for the Int numeric type
Latest version: 3.0.0

# purescript-integers

[![Latest release](http://img.shields.io/github/release/purescript/purescript-integers.svg)](https://github.com/purescript/purescript-integers/releases)
[![Build status](https://travis-ci.org/purescript/purescript-integers.svg?branch=master)](https://travis-ci.org/purescript/purescript-integers)

Functions and bitwise operators for the `Int` numeric type.

## Installation

```
bower install purescript-integers
```

## Documentation

Module documentation is [published on Pursuit](http://pursuit.purescript.org/packages/purescript-integers).
npm package: @purescript/invariant
Description: Invariant functors for PureScript
Latest version: 3.0.0

# purescript-invariant

[![Latest release](http://img.shields.io/github/release/purescript/purescript-invariant.svg)](https://github.com/purescript/purescript-invariant/releases)
[![Build status](https://travis-ci.org/purescript/purescript-invariant.svg?branch=master)](https://travis-ci.org/purescript/purescript-invariant)

Invariant functors.

## Installation

```
bower install purescript-invariant
```

## Documentation

Module documentation is [published on Pursuit](http://pursuit.purescript.org/packages/purescript-invariant).
npm package: @purescript/js-date
Description: PureScript library for native JavaScript `Date` values
Latest version: 5.0.0

# purescript-js-date

[![Latest release](http://img.shields.io/github/release/purescript-contrib/purescript-js-date.svg)](https://github.com/purescript-contrib/purescript-js-date/releases)
[![Build Status](https://travis-ci.org/purescript-contrib/purescript-js-date.svg?branch=master)](https://travis-ci.org/purescript-contrib/purescript-js-date)
[![Maintainer: garyb](https://img.shields.io/badge/maintainer-garyb-lightgrey.svg)](http://github.com/garyb)

JavaScript's native date type and corresponding functions.

## Installation

```
bower install purescript-js-date
```

## Documentation

This library provides the `JSDate` type and associated functions for interop purposes with JavaScript, but for working with dates in PureScript it is recommended that `DateTime` representation is used - `DateTime` offers greater type safety, a more PureScript-friendly interface, and has a `Generic` instance. There is a `toDateTime` provided for this conversion.

Module documentation is [published on Pursuit](http://pursuit.purescript.org/packages/purescript-js-date).
npm package: @purescript/lazy
Description: Call-by-need values
Latest version: 3.0.0

# purescript-lazy

[![Latest release](http://img.shields.io/github/release/purescript/purescript-lazy.svg)](https://github.com/purescript/purescript-lazy/releases)
[![Build status](https://travis-ci.org/purescript/purescript-lazy.svg?branch=master)](https://travis-ci.org/purescript/purescript-lazy)

Call-by-need values.

## Installation

```
bower install purescript-lazy
```

## Documentation

Module documentation is [published on Pursuit](http://pursuit.purescript.org/packages/purescript-lazy).
npm package: @purescript/lists
Description: Linked lists
Latest version: 4.3.0

# purescript-lists

[![Latest release](http://img.shields.io/github/release/purescript/purescript-lists.svg)](https://github.com/purescript/purescript-lists/releases)
[![Build status](https://travis-ci.org/purescript/purescript-lists.svg?branch=master)](https://travis-ci.org/purescript/purescript-lists)

This library defines strict and lazy linked lists, and associated helper functions and type class instances.

_Note_: This module is an improvement over `Data.Array` when working with immutable lists of data in a purely-functional setting, but does not have good random-access performance.

## Installation

```
bower install purescript-lists
```

## Licensing

Some of this code is derived from GHC's standard libraries (`base`);
according to its terms, we have included GHC's license in the file
`LICENSE-GHC.md`.

## Documentation

Module documentation is [published on Pursuit](http://pursuit.purescript.org/packages/purescript-lists).
npm package: @purescript/machines
Description: Mealy Machines in PureScript
Latest version: 4.0.0

# purescript-machines

[![Latest release](http://img.shields.io/github/release/purescript-contrib/purescript-machines.svg)](https://github.com/purescript-contrib/purescript-machines/releases)
[![Build Status](https://travis-ci.org/purescript-contrib/purescript-machines.svg?branch=master)](https://travis-ci.org/purescript-contrib/purescript-machines)

This library helps you build finite state machines. Currently, there's an implementation for Mealy machines with halting.

## Installation

```shell
bower i purescript-machines
```

## Documentation

Module documentation is [published on Pursuit](http://pursuit.purescript.org/packages/purescript-machines).
npm package: @purescript/maps
Description: Purely functional maps implemented in PureScript
Latest version: 3.0.0

# purescript-maps

[![Latest release](http://img.shields.io/github/release/purescript/purescript-maps.svg)](https://github.com/purescript/purescript-maps/releases)
[![Build status](https://travis-ci.org/purescript/purescript-maps.svg?branch=master)](https://travis-ci.org/purescript/purescript-maps)

Purely-functional map data structures.

## Installation

```
bower install purescript-maps
```

## Documentation

Module documentation is [published on Pursuit](http://pursuit.purescript.org/packages/purescript-maps).
npm package: @purescript/math
Description: Math functions
Latest version: 2.0.0

# purescript-math

[![Latest release](http://img.shields.io/bower/v/purescript-math.svg)](https://github.com/purescript/purescript-math/releases)
[![Build Status](https://travis-ci.org/purescript/purescript-math.svg?branch=master)](https://travis-ci.org/purescript/purescript-math)

Standard math functions from JavaScript.

## Installation

```
bower install purescript-math
```

## Documentation

Module documentation is [published on Pursuit](http://pursuit.purescript.org/packages/purescript-math).
npm package: @purescript/maybe
Description: Optional values
Latest version: 3.0.0

# purescript-maybe

[![Latest release](http://img.shields.io/github/release/purescript/purescript-maybe.svg)](https://github.com/purescript/purescript-maybe/releases)
[![Build status](https://travis-ci.org/purescript/purescript-maybe.svg?branch=master)](https://travis-ci.org/purescript/purescript-maybe)

Optional values. `Maybe` is often used to capture failures and in cases where nullable values might otherwise have been used in other languages.

## Installation

```
bower install purescript-maybe
```

## Documentation

Module documentation is [published on Pursuit](http://pursuit.purescript.org/packages/purescript-maybe).
npm package: @purescript/media-types
Description: Internet media / content / MIME types
Latest version: 3.0.0

# purescript-media-types

[![Latest release](http://img.shields.io/github/release/purescript-contrib/purescript-media-types.svg)](https://github.com/purescript-contrib/purescript-media-types/releases)
[![Build Status](https://travis-ci.org/purescript-contrib/purescript-media-types.svg?branch=master)](https://travis-ci.org/purescript-contrib/purescript-media-types)
[![Maintainer: garyb](https://img.shields.io/badge/maintainer-garyb-lightgrey.svg)](http://github.com/garyb)

Internet media / content / MIME types.

## Installation

```
bower install purescript-media-types
```

## Documentation

Module documentation is [published on Pursuit](http://pursuit.purescript.org/packages/purescript-media-types).
npm package: @purescript/monoid
Description: Monoid algebraic structure
Latest version: 3.0.0

# purescript-monoid

[![Latest release](http://img.shields.io/github/release/purescript/purescript-monoid.svg)](https://github.com/purescript/purescript-monoid/releases)
[![Build status](https://travis-ci.org/purescript/purescript-monoid.svg?branch=master)](https://travis-ci.org/purescript/purescript-monoid)

Monoid algebraic structure.

## Installation

```
bower install purescript-monoid
```

## Documentation

Module documentation is [published on Pursuit](http://pursuit.purescript.org/packages/purescript-monoid).
npm package: @purescript/newtype
Description: Type class and functions for working with newtypes
Latest version: 2.0.0

# purescript-newtype

[![Latest release](http://img.shields.io/github/release/purescript/purescript-newtype.svg)](https://github.com/purescript/purescript-newtype/releases)
[![Build status](https://travis-ci.org/purescript/purescript-newtype.svg?branch=master)](https://travis-ci.org/purescript/purescript-newtype)

Type class and functions for working with `newtype`s.

Inspired by Haskell's [`newtype`](https://hackage.haskell.org/package/newtype) package and `Control.Lens.Wrapped` from the [`lens`](https://hackage.haskell.org/package/lens) package.

## Installation

```
bower install purescript-newtype
```

## Documentation

Module documentation is [published on Pursuit](http://pursuit.purescript.org/packages/purescript-newtype).
npm package: @purescript/node-buffer
Description: [![Latest release](http://img.shields.io/github/release/purescript-node/purescript-node-buffer.svg)](https://github.com/purescript-node/purescript-node-buffer/releases) [![Build Status](https://travis-ci.org/purescript-node/purescript-node-buffer.svg?bran
Latest version: 3.0.0

# purescript-node-buffer

[![Latest release](http://img.shields.io/github/release/purescript-node/purescript-node-buffer.svg)](https://github.com/purescript-node/purescript-node-buffer/releases)
[![Build Status](https://travis-ci.org/purescript-node/purescript-node-buffer.svg?branch=master)](https://travis-ci.org/purescript-node/purescript-node-buffer)

Type declarations and FFI wrappers for Node's [Buffer API](https://nodejs.org/api/buffer.html).

## Installation

```
bower install purescript-node-buffer
```

## Documentation

Module documentation is [published on Pursuit](http://pursuit.purescript.org/packages/purescript-node-buffer).
npm package: @purescript/node-child-process
Description: PureScript bindings to child_process.
Latest version: 4.0.0

# purescript-node-child-process

[![Latest release](http://img.shields.io/github/release/purescript-node/purescript-node-child-process.svg)](https://github.com/purescript/purescript-node-child-process/releases)
[![Build Status](https://travis-ci.org/purescript-node/purescript-node-child-process.svg?branch=master)](https://travis-ci.org/purescript-node/purescript-node-child-process)

Bindings to Node's `child_process` API.

## Installation

```
bower install purescript-node-child-process
```

## Documentation

Module documentation is [published on Pursuit](http://pursuit.purescript.org/packages/purescript-node-child-process).
npm package: @purescript/node-fs
Description: Node.js file system operations
Latest version: 4.0.0

# purescript-node-fs

[![Latest release](http://img.shields.io/github/release/purescript-node/purescript-node-fs.svg)](https://github.com/purescript-node/purescript-node-fs/releases)
[![Build Status](https://travis-ci.org/purescript-node/purescript-node-fs.svg?branch=master)](https://travis-ci.org/purescript-node/purescript-node-fs)

PureScript bindings to node's `fs` module.

## Installation

```
bower install purescript-node-fs
```

## Documentation

Module documentation is [published on Pursuit](http://pursuit.purescript.org/packages/purescript-node-fs).
npm package: @purescript/node-fs-aff
Description: Aff wrappers for purescript-node-fs
Latest version: 4.0.0

# purescript-node-fs-aff

[![Latest release](http://img.shields.io/github/release/purescript-node/purescript-node-fs-aff.svg)](https://github.com/purescript-node/purescript-node-fs-aff/releases)
[![Build Status](https://travis-ci.org/purescript-node/purescript-node-fs-aff.svg?branch=master)](https://travis-ci.org/purescript-node/purescript-node-fs-aff)

[Node.FS][Node.FS] Wrappers for [purescript-aff][aff]

The `Aff` monad lets you write async code with ease, and `node-fs-aff`
lets you easily access the filesystem within `Aff`.

## Example

Consider asynchronously listing only non-hidden directories:

``` purescript
main = launchAff do
  files <- FS.readdir "."
  files' <- flip filterM files \file -> do
    stat <- FS.stat file
    pure $
         FS.isDirectory stat
      && (maybe false (fromChar >>> (/= ".")) $ charAt 0 file)
  liftEff $ print files'
```

That was easy. Run `npm run example` to see it work.

## Documentation

Module documentation is [published on Pursuit](http://pursuit.purescript.org/packages/purescript-node-fs-aff).


[Node.FS]: http://github.com/purescript-node/purescript-node-fs
[aff]: https://github.com/slamdata/purescript-aff
npm package: @purescript/node-http
Description: [![Latest release](http://img.shields.io/github/release/purescript-node/purescript-node-http.svg)](https://github.com/purescript/purescript-node-http/releases) [![Build Status](https://travis-ci.org/purescript-node/purescript-node-http.svg?branch=master)]
Latest version: 4.0.0

# purescript-node-http

[![Latest release](http://img.shields.io/github/release/purescript-node/purescript-node-http.svg)](https://github.com/purescript/purescript-node-http/releases)
[![Build Status](https://travis-ci.org/purescript-node/purescript-node-http.svg?branch=master)](https://travis-ci.org/purescript-node/purescript-node-http)

A wrapper for Node's HTTP APIs.

## Installation

```
bower install purescript-node-http
```

## Documentation

Module documentation is [published on Pursuit](http://pursuit.purescript.org/packages/purescript-node-http).
npm package: @purescript/node-path
Description: PureScript type definitions for Node's path module
Latest version: 2.0.0

# purescript-node-path

[![Latest release](http://img.shields.io/github/release/purescript-node/purescript-node-path.svg)](https://github.com/purescript-node/purescript-node-path/releases)
[![Build Status](https://travis-ci.org/purescript-node/purescript-node-path.svg?branch=master)](https://travis-ci.org/purescript-node/purescript-node-path)
[![Maintainer: garyb](https://img.shields.io/badge/maintainer-garyb-lightgrey.svg)](http://github.com/garyb)

Type type definitions for Node's path module.

## Installation

```
bower install purescript-node-path
```

## Documentation

Module documentation is [published on Pursuit](http://pursuit.purescript.org/packages/purescript-node-path).
npm package: @purescript/node-process
Description: [![Latest release](http://img.shields.io/github/release/purescript-node/purescript-node-process.svg)](https://github.com/purescript-node/purescript-node-process/releases) [![Build Status](https://travis-ci.org/purescript-node/purescript-node-process.svg?b
Latest version: 4.0.0

# purescript-node-process

[![Latest release](http://img.shields.io/github/release/purescript-node/purescript-node-process.svg)](https://github.com/purescript-node/purescript-node-process/releases)
[![Build Status](https://travis-ci.org/purescript-node/purescript-node-process.svg?branch=master)](https://travis-ci.org/purescript-node/purescript-node-process)

The Node.js global `process` object in PureScript.

## Installation

```
bower install purescript-node-process
```

## Documentation

Module documentation is [published on Pursuit](http://pursuit.purescript.org/packages/purescript-node-process).
npm package: @purescript/node-readline
Description: [![Latest release](http://img.shields.io/github/release/purescript-node/purescript-node-readline.svg)](https://github.com/purescript-node/purescript-node-readline/releases) [![Build Status](https://travis-ci.org/purescript-node/purescript-node-readline.sv
Latest version: 3.0.0

# purescript-node-readline

[![Latest release](http://img.shields.io/github/release/purescript-node/purescript-node-readline.svg)](https://github.com/purescript-node/purescript-node-readline/releases)
[![Build Status](https://travis-ci.org/purescript-node/purescript-node-readline.svg?branch=master)](https://travis-ci.org/purescript-node/purescript-node-readline)

A low-level PureScript interface to the Node `readline` API.

## Installation

```
bower install purescript-node-readline
```

Module documentation can be found on [Pursuit](https://pursuit.purescript.org/packages/purescript-node-readline)
npm package: @purescript/node-streams
Description: [![Latest release](http://img.shields.io/github/release/purescript-node/purescript-node-streams.svg)](https://github.com/purescript-node/purescript-node-streams/releases) [![Build Status](https://travis-ci.org/purescript-node/purescript-node-streams.svg?b
Latest version: 3.1.0

# purescript-node-streams

[![Latest release](http://img.shields.io/github/release/purescript-node/purescript-node-streams.svg)](https://github.com/purescript-node/purescript-node-streams/releases)
[![Build Status](https://travis-ci.org/purescript-node/purescript-node-streams.svg?branch=master)](https://travis-ci.org/purescript-node/purescript-node-streams)

A wrapper for Node's [Stream API](https://nodejs.org/api/stream.html).

## Installation

```
bower install purescript-node-streams
```

## Documentation

Module documentation is [published on Pursuit](http://pursuit.purescript.org/packages/purescript-node-streams).
npm package: @purescript/node-url
Description: [![Latest release](http://img.shields.io/github/release/purescript-node/purescript-node-url.svg)](https://github.com/purescript-node/purescript-node-url/releases) [![Build Status](https://travis-ci.org/purescript-node/purescript-node-url.svg?branch=master
Latest version: 3.0.0

# purescript-node-url

[![Latest release](http://img.shields.io/github/release/purescript-node/purescript-node-url.svg)](https://github.com/purescript-node/purescript-node-url/releases)
[![Build Status](https://travis-ci.org/purescript-node/purescript-node-url.svg?branch=master)](https://travis-ci.org/purescript-node/purescript-node-url)

A wrapper for Node's `URL` and `QueryString` APIs

## Installation

```
bower install purescript-node-url
```

## Documentation

Module documentation is [published on Pursuit](http://pursuit.purescript.org/packages/purescript-node-url).
npm package: @purescript/nonempty
Description: A generic non-empty data structure
Latest version: 4.0.0

# purescript-nonempty

[![Latest release](http://img.shields.io/bower/v/purescript-nonempty.svg)](https://github.com/purescript/purescript-nonempty/releases)
[![Build Status](https://travis-ci.org/purescript/purescript-nonempty.svg?branch=master)](https://travis-ci.org/purescript/purescript-nonempty)

A generic non-empty data structure.

## Installation

```
bower install purescript-nonempty
```

## Documentation

Module documentation is [published on Pursuit](http://pursuit.purescript.org/packages/purescript-nonempty).
npm package: @purescript/nullable
Description: A library for dealing with nulls
Latest version: 3.0.0

# purescript-nullable

[![Latest release](http://img.shields.io/bower/v/purescript-nullable.svg)](https://github.com/purescript-contrib/purescript-nullable/releases)
[![Build Status](https://travis-ci.org/purescript-contrib/purescript-nullable.svg?branch=master)](https://travis-ci.org/purescript-contrib/purescript-nullable)
[![Maintainer: paf31](https://img.shields.io/badge/maintainer-paf31-lightgrey.svg)](http://github.com/paf31)

A library for dealing with null values in foreign libraries.

## Installing

    bower i purescript-nullable

- [Module Documentation](https://pursuit.purescript.org/packages/purescript-nullable/1.0.1/docs/Data.Nullable)
npm package: @purescript/partial
Description: Utilities for working with partial functions
Latest version: 1.2.0

# purescript-partial

[![Latest release](http://img.shields.io/bower/v/purescript-partial.svg)](https://github.com/purescript/purescript-partial/releases)
[![Build Status](https://travis-ci.org/purescript/purescript-partial.svg?branch=master)](https://travis-ci.org/purescript/purescript-partial)

Utilities for working with partial functions.

## Installation

```
bower install purescript-partial
```

## Documentation

Module documentation is [published on Pursuit](http://pursuit.purescript.org/packages/purescript-partial).
npm package: @purescript/posix-types
Description: [![Latest release](http://img.shields.io/github/release/purescript-node/purescript-posix-types.svg)](https://github.com/purescript-node/purescript-posix-types/releases) [![Build Status](https://travis-ci.org/purescript-node/purescript-posix-types.svg?bran
Latest version: 3.0.0

# purescript-posix-types

[![Latest release](http://img.shields.io/github/release/purescript-node/purescript-posix-types.svg)](https://github.com/purescript-node/purescript-posix-types/releases)
[![Build Status](https://travis-ci.org/purescript-node/purescript-posix-types.svg?branch=master)](https://travis-ci.org/purescript-node/purescript-posix-types)

Basic types for use with bindings to POSIX-style APIs.

## Installation

```
bower install purescript-posix-types
```

## Documentation

Module documentation is [published on Pursuit](http://pursuit.purescript.org/packages/purescript-posix-types).
npm package: @purescript/prelude
Description: The PureScript Prelude
Latest version: 3.0.0

# purescript-prelude

[![Latest release](http://img.shields.io/bower/v/purescript-prelude.svg)](https://github.com/purescript/purescript-prelude/releases)
[![Build Status](https://travis-ci.org/purescript/purescript-prelude.svg?branch=master)](https://travis-ci.org/purescript/purescript-prelude)

The PureScript prelude.

## Installation

```
bower install purescript-prelude
```

## Documentation

Module documentation is [published on Pursuit](http://pursuit.purescript.org/packages/purescript-prelude).
npm package: @purescript/profunctor
Description: Profunctor typeclass for PureScript
Latest version: 3.0.0

# purescript-profunctor

[![Latest release](http://img.shields.io/github/release/purescript/purescript-profunctor.svg)](https://github.com/purescript/purescript-profunctor/releases)
[![Build Status](https://travis-ci.org/purescript/purescript-profunctor.svg?branch=master)](https://travis-ci.org/purescript/purescript-profunctor)

Profunctor typeclass.

## Installation

```
bower install purescript-profunctor
```

## Documentation

Module documentation is [published on Pursuit](http://pursuit.purescript.org/packages/purescript-profunctor).
npm package: @purescript/profunctor-lenses
Description: [![Latest release](http://img.shields.io/bower/v/purescript-profunctor-lenses.svg)](https://github.com/purescript-contrib/purescript-profunctor-lenses/releases) [![Build Status](https://travis-ci.org/purescript-contrib/purescript-profunctor-lenses.svg)](h
Latest version: 3.2.0

# purescript-profunctor-lenses

[![Latest release](http://img.shields.io/bower/v/purescript-profunctor-lenses.svg)](https://github.com/purescript-contrib/purescript-profunctor-lenses/releases)
[![Build Status](https://travis-ci.org/purescript-contrib/purescript-profunctor-lenses.svg)](https://travis-ci.org/purescript-contrib/purescript-profunctor-lenses)
[![Maintainer: paf31](https://img.shields.io/badge/maintainer-paf31-lightgrey.svg)](http://github.com/paf31)

Pure profunctor lenses.

## Installation

```
bower install purescript-profunctor-lenses
```

## Documentation

Module documentation is [published on Pursuit](http://pursuit.purescript.org/packages/purescript-profunctor-lenses).

You can find an example usage [here](test/Main.purs).
npm package: @purescript/proxy
Description: Value proxy for type inputs
Latest version: 2.0.0

# purescript-proxy

[![Latest release](http://img.shields.io/bower/v/purescript-proxy.svg)](https://github.com/purescript/purescript-proxy/releases)
[![Build Status](https://travis-ci.org/purescript/purescript-proxy.svg?branch=master)](https://travis-ci.org/purescript/purescript-proxy)

Value proxy for type inputs.

## Installation

```
bower install purescript-proxy
```

## Documentation

Module documentation is [published on Pursuit](http://pursuit.purescript.org/packages/purescript-proxy).