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