Skip to content

Instantly share code, notes, and snippets.

View MarkusPfundstein's full-sized avatar

Markus Pfundstein MarkusPfundstein

View GitHub Profile
@MarkusPfundstein
MarkusPfundstein / prod_comonad.js
Last active May 25, 2018 10:38
Product Comonad example
const Prod = t => ({
extract : () => t[1],
extend : f => Prod([t[0], f([t[0], t[1]])]),
map : f => Prod([t[0], f(t[1])]),
duplicate : () => Prod([t[0], Prod(t)])
});
@MarkusPfundstein
MarkusPfundstein / example.js
Created March 27, 2017 06:47
Javascript Reader.T(Task) example (why to use Monads)
const Task = require('data.task');
const Maybe = require('data.maybe');
const { Reader, ReaderT } = require('ramda-fantasy');
const R = require('ramda');
const mysql = require('mysql');
const request = require('request');
const ReaderTask = Reader.T(Task);