Skip to content

Commit

Permalink
2 spaces are better
Browse files Browse the repository at this point in the history
  • Loading branch information
rzeigler committed Aug 26, 2019
1 parent 52317dd commit 0e6cc45
Show file tree
Hide file tree
Showing 52 changed files with 3,088 additions and 3,087 deletions.
2 changes: 1 addition & 1 deletion .editorconfig
Original file line number Diff line number Diff line change
Expand Up @@ -7,4 +7,4 @@ insert_final_newline = true
[*.{ts,json}]
charset = utf-8
indent_style = space
indent_size = 4
indent_size = 2
3 changes: 2 additions & 1 deletion .eslintrc.js
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@ module.exports = {
rules: {
"@typescript-eslint/explicit-function-return-type": ["error", { allowExpressions: true, allowHigherOrderFunctions: true, allowTypedFunctionExpressions: true }],
"@typescript-eslint/no-unused-vars": ["warn", {varsIgnorePattern: "^_.*", argsIgnorePattern: "^_.*"}],
"quotes": ["warn", "double"]
"quotes": ["warn", "double"],
"indent": ["error", 2]
}
};
8 changes: 4 additions & 4 deletions benchmarks/Constant.ts
Original file line number Diff line number Diff line change
Expand Up @@ -10,8 +10,8 @@ import * as wave from "../src/wave";
import {RunSuite} from "./internals/RunSuite"

RunSuite("Constant", {
bluebird: () => Promise.resolve(10),
fio: () => FIO.of(10),
fluture: () => Fluture.of(10),
waveguide: () => wave.pure(10)
bluebird: () => Promise.resolve(10),
fio: () => FIO.of(10),
fluture: () => Fluture.of(10),
waveguide: () => wave.pure(10)
})
54 changes: 27 additions & 27 deletions benchmarks/CreateNestedMap.ts
Original file line number Diff line number Diff line change
Expand Up @@ -12,35 +12,35 @@ import * as wave from "../src/io"
const MAX = 1e3

RunSuite(`CreateNestedMap ${MAX}`, {
bluebird: () => {
let bird = Promise.resolve(BigInt(0))
for (let i = 0; i < MAX; i++) {
bird = bird.then(inc)
}
bluebird: () => {
let bird = Promise.resolve(BigInt(0))
for (let i = 0; i < MAX; i++) {
bird = bird.then(inc)
}

return bird
},
fio: () => {
let fio = FIO.of(BigInt(0))
for (let i = 0; i < MAX; i++) {
fio = fio.map(inc)
}
return bird
},
fio: () => {
let fio = FIO.of(BigInt(0))
for (let i = 0; i < MAX; i++) {
fio = fio.map(inc)
}

return fio
},
fluture: () => {
let fluture = Fluture.of(BigInt(0))
for (let i = 0; i < MAX; i++) {
fluture = fluture.map(inc)
}
return fio
},
fluture: () => {
let fluture = Fluture.of(BigInt(0))
for (let i = 0; i < MAX; i++) {
fluture = fluture.map(inc)
}

return fluture
},
waveguide: () => {
let io: IO<never, bigint> = wave.pure(BigInt(0));
for (let i = 0; i < MAX; i++) {
io = wave.map(io, inc);
}
return io;
return fluture
},
waveguide: () => {
let io: IO<never, bigint> = wave.pure(BigInt(0));
for (let i = 0; i < MAX; i++) {
io = wave.map(io, inc);
}
return io;
}
})
56 changes: 28 additions & 28 deletions benchmarks/Fibonacci.ts
Original file line number Diff line number Diff line change
Expand Up @@ -14,62 +14,62 @@ import { IO } from "../src/wave";
* Normal Fibonacci Implementation
*/
export const fib = (n: bigint): bigint => {
if (n < BigInt(2)) {
return BigInt(1)
}
if (n < BigInt(2)) {
return BigInt(1)
}

return fib(n - BigInt(1)) + fib(n - BigInt(2))
return fib(n - BigInt(1)) + fib(n - BigInt(2))
}

/**
* Fluture based implementation
*/
export const fibFluture = (
n: bigint
n: bigint
): Fluture.FutureInstance<never, bigint> => {
if (n < BigInt(2)) {
return Fluture.of(BigInt(1))
}
if (n < BigInt(2)) {
return Fluture.of(BigInt(1))
}

return fibFluture(n - BigInt(1)).chain(a => fibFluture(n - BigInt(2)).map(b => a + b))
return fibFluture(n - BigInt(1)).chain(a => fibFluture(n - BigInt(2)).map(b => a + b))
}

/**
* FIO based implementation
*/
export const fibFIO = (n: bigint): UIO<bigint> => {
if (n < BigInt(2)) {
return FIO.of(BigInt(1))
}
if (n < BigInt(2)) {
return FIO.of(BigInt(1))
}

return fibFIO(n - BigInt(1)).chain(a => fibFIO(n - BigInt(2)).map(b => a + b))
return fibFIO(n - BigInt(1)).chain(a => fibFIO(n - BigInt(2)).map(b => a + b))
}

/**
* Bluebird based implementation
*/
export const fibBird = (n: bigint): Promise<bigint> => {
if (n < BigInt(2)) {
return Promise.resolve(BigInt(1))
}
if (n < BigInt(2)) {
return Promise.resolve(BigInt(1))
}

return fibBird(n - BigInt(1)).then(a => fibBird(n - BigInt(2)).then(b => a + b))
return fibBird(n - BigInt(1)).then(a => fibBird(n - BigInt(2)).then(b => a + b))
}

export const fibWave = (n: bigint): IO<never, bigint> => {
if (n < BigInt(2)) {
return wave.pure(BigInt(1));
}
return wave.chain(fibWave(n - BigInt(1)),
(a) => wave.map(fibWave(n - BigInt(2)),
(b) => a + b));
if (n < BigInt(2)) {
return wave.pure(BigInt(1));
}
return wave.chain(fibWave(n - BigInt(1)),
(a) => wave.map(fibWave(n - BigInt(2)),
(b) => a + b));
}

const count = BigInt(20)
RunSuite(`Fibonacci: ${count}`, {
bluebird: () => fibBird(count),
fio: () => fibFIO(count),
fluture: () => fibFluture(count),
native: () => fib(count),
waveguide: () => fibWave(count)
bluebird: () => fibBird(count),
fio: () => fibFIO(count),
fluture: () => fibFluture(count),
native: () => fib(count),
waveguide: () => fibWave(count)
})
16 changes: 8 additions & 8 deletions benchmarks/Map.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,18 +2,18 @@
/**
* Created by tushar on 2019-05-09
*/
import {Promise} from "bluebird"
import { Promise } from "bluebird"
import * as Fluture from "fluture"

import {FIO} from "fearless-io"
import { FIO } from "fearless-io"

import {inc} from "./internals/Inc"
import {RunSuite} from "./internals/RunSuite"
import { inc } from "./internals/Inc"
import { RunSuite } from "./internals/RunSuite"
import * as wave from "../src/wave";

RunSuite("Map", {
bluebird: () => Promise.resolve(BigInt(10)).then(inc),
fio: () => FIO.of(BigInt(10)).map(inc),
fluture: () => Fluture.of(BigInt(10)).map(inc),
waveguide: () => wave.map(wave.pure(BigInt(1)), inc)
bluebird: () => Promise.resolve(BigInt(10)).then(inc),
fio: () => FIO.of(BigInt(10)).map(inc),
fluture: () => Fluture.of(BigInt(10)).map(inc),
waveguide: () => wave.map(wave.pure(BigInt(1)), inc)
})
68 changes: 34 additions & 34 deletions benchmarks/NestedChain.ts
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
/* global BigInt */
/* eslint @typescript-eslint/explicit-function-return-type:off */
import {Promise} from "bluebird"
import { Promise } from "bluebird"
import * as Fluture from "fluture"

import {FIO} from "fearless-io"
import * as wave from "../src/io";
import { FIO } from "fearless-io"
import * as wave from "../src/wave";

import {RunSuite} from "./internals/RunSuite"
import { RunSuite } from "./internals/RunSuite"

const MAX = 1e4

Expand All @@ -16,35 +16,35 @@ const fioMapper = (_: bigint) => FIO.of(_ + BigInt(1))
const waveMapper = (_: bigint) => wave.pure(_ + BigInt(1))

RunSuite(`NestedChain ${MAX}`, {
bluebird: () => {
let bird = Promise.resolve(BigInt(0))
for (let i = 0; i < MAX; i++) {
bird = bird.then(bluebirdMapper)
}

return bird
},
fio: () => {
let fio = FIO.of(BigInt(0))
for (let i = 0; i < MAX; i++) {
fio = fio.chain(fioMapper)
}

return fio
},
fluture: () => {
let fluture = Fluture.of(BigInt(0))
for (let i = 0; i < MAX; i++) {
fluture = fluture.chain(flutureMapper)
}

return fluture
},
waveguide: () => {
let io: wave.IO<never, bigint> = wave.pure(BigInt(0))
for (let i = 0; i < MAX; i++) {
io = wave.chain(io, waveMapper);
}
return io;
bluebird: () => {
let bird = Promise.resolve(BigInt(0))
for (let i = 0; i < MAX; i++) {
bird = bird.then(bluebirdMapper)
}

return bird
},
fio: () => {
let fio = FIO.of(BigInt(0))
for (let i = 0; i < MAX; i++) {
fio = fio.chain(fioMapper)
}

return fio
},
fluture: () => {
let fluture = Fluture.of(BigInt(0))
for (let i = 0; i < MAX; i++) {
fluture = fluture.chain(flutureMapper)
}

return fluture
},
waveguide: () => {
let io: wave.IO<never, bigint> = wave.pure(BigInt(0))
for (let i = 0; i < MAX; i++) {
io = wave.chain(io, waveMapper);
}
return io;
}
})
62 changes: 31 additions & 31 deletions benchmarks/NestedMap.ts
Original file line number Diff line number Diff line change
Expand Up @@ -9,42 +9,42 @@ import {Promise} from "bluebird"
import * as Fluture from "fluture"

import {FIO} from "fearless-io"
import * as wave from "../src/io";
import * as wave from "../src/wave";
import {inc} from "./internals/Inc"
import {RunSuite} from "./internals/RunSuite"

const MAX = 1e3

RunSuite(`NestedMap ${MAX}`, {
bluebird: () => {
let bird = Promise.resolve(BigInt(0))
for (let i = 0; i < MAX; i++) {
bird = bird.then(inc)
}

return bird
},
fio: () => {
let fio = FIO.of(BigInt(0))
for (let i = 0; i < MAX; i++) {
fio = fio.map(inc)
}

return fio
},
fluture: () => {
let fluture = Fluture.of(BigInt(0))
for (let i = 0; i < MAX; i++) {
fluture = fluture.map(inc)
}

return fluture
},
waveguide: () => {
let io: wave.IO<never, bigint> = wave.pure(BigInt(0));
for (let i = 0; i < MAX; i++) {
io = wave.map(io, inc)
}
return io;
bluebird: () => {
let bird = Promise.resolve(BigInt(0))
for (let i = 0; i < MAX; i++) {
bird = bird.then(inc)
}

return bird
},
fio: () => {
let fio = FIO.of(BigInt(0))
for (let i = 0; i < MAX; i++) {
fio = fio.map(inc)
}

return fio
},
fluture: () => {
let fluture = Fluture.of(BigInt(0))
for (let i = 0; i < MAX; i++) {
fluture = fluture.map(inc)
}

return fluture
},
waveguide: () => {
let io: wave.IO<never, bigint> = wave.pure(BigInt(0));
for (let i = 0; i < MAX; i++) {
io = wave.map(io, inc)
}
return io;
}
})
Loading

0 comments on commit 0e6cc45

Please sign in to comment.