This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
interface Combinable<T> { | |
plus(T): T, | |
zero(): T | |
} | |
class Max implements Combinable<Max> { | |
private value: number | |
constructor(num: number) { | |
this.value = num; | |
} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
module Main where | |
import Prelude | |
import Control.Monad.Eff (Eff) | |
import Data.Foldable (fold) | |
import TryPureScript (DOM, h1, h2, p, text, list, indent, link, render, code) | |
import Data.Map (Map, lookup, insert, empty) | |
import Data.List | |
import Data.Either |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
class Observable<T, E> { | |
// cant be typed in flow, but perhaps we can | |
// somehow declare several overloads? | |
// pipe(Observable<T0, E0> => Observable<T1, E1>): Observable<T1, E1> | |
// pipe(Observable<T0, E0> => Observable<T1, E1>, Observable<T1, E1> => Observable<T2, E2>): Observable<T2, E2> | |
// etc... | |
pipe(...operators) { | |
return operators.reduce((acc, curr) => curr(acc), this); | |
} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
someObservable.retry(3) | |
consts tasks = | |
{ | |
....{....5......2.......3...} | |
............{......5............4....3} | |
............................................{5...2...4} | |
.....................................................{...5} | |
} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
function Observable(subscribe) { | |
this._subscribe = subscribe; | |
} | |
const of = (v) => new Observable(observer => { | |
return observer.next(v); | |
}); | |
Observable.prototype = { | |
map(f) { |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
JSON_text | |
= ws value:value ws { return value; } | |
begin_array = ws "[" ws | |
begin_object = ws "{" ws | |
end_array = ws "]" ws | |
end_object = ws "}" ws | |
name_separator = ws ":" ws | |
value_separator = ws "," ws |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
//You shouldn't find your self asking for ids from a Falcor JSON Graph object. | |
//it seems like you want to build an array of game ids: | |
{ | |
games: [ | |
{ $type: "ref", value: ["gamesById", 352] }, | |
{ $type: "ref", value: ["gamesById", 428] } | |
// ... | |
], |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// mock falcor Model | |
function Model(root, path) { | |
this.root = root; | |
this.path = path || []; | |
} | |
Model.prototype.bind = function(path) { | |
return new Model(this.root, this.path.concat(path)); | |
}; |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
class Observable { | |
map(fn) { | |
if (typeof fn !== "function") | |
throw new TypeError(fn + " is not a function"); | |
let C = this.constructor[Symbol.species]; | |
return new C(observer => { |