UNPKG

3.3 kBPlain TextView Raw
1- [tiny-cps](#tiny-cps)
2- [CPS functions](#cps-functions)
3 * [Why?](#why)
4 * [Advanced composability](#advanced-composability)
5 * [What is new here?](#what-is-new-here)
6 + [Variadic input and output](#variadic-input-and-output)
7 + [Full power of multiple outputs streams](#full-power-of-multiple-outputs-streams)
8 + [Functional progamming paradigm](#functional-progamming-paradigm)
9 + [Lazy or eager?](#lazy-or-eager)
10 + [Differences with Haskell](#differences-with-haskell)
11 + ["Do less" is a feature](#do-less-is-a-feature)
12 * [Terminology](#terminology)
13 * [Using CPS functions](#using-cps-functions)
14 * [What about Callback Hell?](#what-about-callback-hell)
15 * [Asynchronous iteration over array](#asynchronous-iteration-over-array)
16- [Examples of CPS functions](#examples-of-cps-functions)
17 * [Promise producers](#promise-producers)
18 * [Promises](#promises)
19 * [Node API](#node-api)
20 * [HTTP requests](#http-requests)
21 * [Database Access](#database-access)
22 * [Middleware e.g. in Express or Redux](#middleware-eg-in-express-or-redux)
23 * [Web Sockets](#web-sockets)
24 * [Stream libraries](#stream-libraries)
25 + [Pull Streams](#pull-streams)
26 + [Flyd](#flyd)
27 * [Event aggregation](#event-aggregation)
28- [Comparison with Promises and Callbacks](#comparison-with-promises-and-callbacks)
29 * [Returning results](#returning-results)
30 * [Chaining](#chaining)
31 * [Asynchronous composition](#asynchronous-composition)
32 * [Error handling](#error-handling)
33 * [Signatures](#signatures)
34 * [Standardization](#standardization)
35- [Functional and Fluent API](#functional-and-fluent-api)
36 * [Conventions](#conventions)
37 * [CPS.map](#cpsmap)
38 + [Mapping over single function](#mapping-over-single-function)
39 + [Mapping over multiple functions](#mapping-over-multiple-functions)
40 + [Map taking multiple arguments](#map-taking-multiple-arguments)
41 + [Functor laws](#functor-laws)
42 + [CPS.of](#cpsof)
43 * [CPS.chain](#cpschain)
44 + [Transforming multiple arguments into multiple arguments](#transforming-multiple-arguments-into-multiple-arguments)
45 + [Why is it called `chain`?](#why-is-it-called-chain)
46 + [Composing multiple outputs](#composing-multiple-outputs)
47 + [Passing multiple CPS functions to `chain`](#passing-multiple-cps-functions-to-chain)
48 + [Monadic laws](#monadic-laws)
49 - [Associativity law](#associativity-law)
50 - [Identity laws](#identity-laws)
51 * [Application of `chain`: Turn Node API into Promise style callbacks](#application-of-chain-turn-node-api-into-promise-style-callbacks)
52 * [CPS.ap](#cpsap)
53 + [Running CPS functions in parallel](#running-cps-functions-in-parallel)
54 + [Lifting functions of multiple parameters](#lifting-functions-of-multiple-parameters)
55 - [Promise.all](#promiseall)
56 - [Usage notes](#usage-notes)
57 + [Applying multiple functions inside `ap`](#applying-multiple-functions-inside-ap)
58 + [Applicative laws](#applicative-laws)
59 * [CPS.merge](#cpsmerge)
60 + [Relation with Promise.race](#relation-with-promiserace)
61 + [Commutative Monoid](#commutative-monoid)
62 * [CPS.filter](#cpsfilter)
63 + [Filtering over multiple functions](#filtering-over-multiple-functions)
64 + [Implementation via `chain`](#implementation-via-chain)
65 * [CPS.scan](#cpsscan)
\No newline at end of file