TypeScript
TypeScript
var Id = <T>(x: T) => ({
cata: (alg: (a: T) => void) => alg(x),
map: <U>(f: (y: T) => U) => Id<U>(f(x))
})
var t = Id<number>(2).map(x => x + 3);
t.cata(console.log)
//# sourceMappingURL=app.js.map
var Id = <T>(x: T) => ({
cata: (alg: (a: T) => void) => alg(x),
map: <U>(f: (y: T) => U) => Id<U>(f(x))
})
var t = Id<number>(2).map(x => x + 3);
t.cata(console.log)
//# sourceMappingURL=app.js.map