identy monad laws

by dimitrs_papadimitriou

HTML

<script src="https://cdn.jsdelivr.net/gh/eu81273/jsfiddle-console/console.js"></script>

JavaScript

const Id = (v) => ({
    value: v,
    bind: (func) => func(v),
    map: (mapping) => Id(mapping(v))
  })
  
  var s = Id(Id(2)).bind(x => x)


    //first law
 var value  = 2;
var f = x=>Id(x*x);
var m1= Id(value).bind(f);
console.log(m1.value)
var m2 = f(value);
console.log(m2.value)