# sanctuary-adt-matrix

> Matrix that shows which Sanctuary ADT's implements which Type Classes

Latest version **1.0.1** (published 2021-08-16) · MIT license · 0 weekly downloads

## Install

```sh
npm install sanctuary-adt-matrix
pnpm add sanctuary-adt-matrix
yarn add sanctuary-adt-matrix
bun add sanctuary-adt-matrix
```

Provides the command `sanctuary-adt-matrix`.

## Health

**Score 15/100 (F)** — status: abandoned.

Positive: no vulnerabilities.

Warnings: low downloads; no types; no esm support.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 1.0.1 |
| Published | 2021-08-16 |
| First published | 2021-08-16 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | none |
| Module format | CommonJS |
| Dependencies | 2 |
| Unpacked size | 6.3 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| GitHub stars | 3 |
| Maintainers | dotnetcarpenter |

## Links

- npm: https://www.npmjs.com/package/sanctuary-adt-matrix
- Repository: https://github.com/dotnetCarpenter/sanctuary-adt-matrix
- Homepage: https://github.com/dotnetCarpenter/sanctuary-adt-matrix#readme
- Issues: https://github.com/dotnetCarpenter/sanctuary-adt-matrix/issues
- npm.io page: https://npm.io/package/sanctuary-adt-matrix

## Dependencies (2)

- [fluture](https://npm.io/package/fluture.md) ^14.0.0
- [sanctuary](https://npm.io/package/sanctuary.md) ^3.1.0

## Recent versions

- 1.0.1 (latest) — 2021-08-16
- 1.0.0 — 2021-08-16

## README

# Sanctuary ADT Matrix

[![npm](https://img.shields.io/npm/v/sanctuary-adt-matrix.svg)](https://www.npmjs.com/package/sanctuary-adt-matrix)


Usage:

```
$ npx sanctuary-adt-matrix
```

|  Type Class   | Pair | Maybe | Either | Future |
| ------------- | ---- | ----- | ------ | ------ |
| Setoid        | ✅   | ✅    | ✅     | ❌    |
| Ord           | ✅   | ✅    | ✅     | ❌    |
| Semigroupoid  | ✅   | ❌    | ❌     | ❌    |
| Category      | ❌   | ❌    | ❌     | ❌    |
| Semigroup     | ✅   | ✅    | ✅     | ❌    |
| Monoid        | ❌   | ✅    | ❌     | ❌    |
| Group         | ❌   | ❌    | ❌     | ❌    |
| Filterable    | ❌   | ✅    | ❌     | ❌    |
| Functor       | ✅   | ✅    | ✅     | ✅    |
| Bifunctor     | ✅   | ❌    | ✅     | ✅    |
| Profunctor    | ❌   | ❌    | ❌     | ❌    |
| Apply         | ✅   | ✅    | ✅     | ✅    |
| Applicative   | ❌   | ✅    | ✅     | ✅    |
| Chain         | ✅   | ✅    | ✅     | ✅    |
| ChainRec      | ❌   | ✅    | ✅     | ✅    |
| Monad         | ❌   | ✅    | ✅     | ✅    |
| Alt           | ❌   | ✅    | ✅     | ✅    |
| Plus          | ❌   | ✅    | ❌     | ❌    |
| Alternative   | ❌   | ✅    | ❌     | ❌    |
| Foldable      | ✅   | ✅    | ✅     | ❌    |
| Traversable   | ✅   | ✅    | ✅     | ❌    |
| Extend        | ✅   | ✅    | ✅     | ❌    |
| Comonad       | ✅   | ❌    | ❌     | ❌    |
| Contravariant | ❌   | ❌    | ❌     | ❌    |


## Using the matrix API

Test [Sanctuary's](https://sanctuary.js.org/) Algebraic Data Types (ADT) for [Type Class](https://github.com/sanctuary-js/sanctuary-type-classes/tree/v12.1.0#sanctuary-type-classes) support.

> The API is **unstable** and will probably change between minor versions.

```js
const { adts, typeClassTests } = require ('sanctuary-adt-matrix');

// adts :: Array (Array (String Adt))
[
  ['Pair'  , Adt],
  ['Maybe' , Adt],
  ['Either', Adt],
  ['Future', Adt]
]

// typeClassTests :: Array (Array (String Adt) -> Array (String))
typeClassTests [0] (adts) // -> [ 'Setoid', '✅', '✅', '✅', '❌' ]
```

---
_Source: https://npm.io/package/sanctuary-adt-matrix · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
