What the f*ck is a monadfeddit.deimage NX2 ( @nx2@feddit.de ) Programmer Humor@programming.dev • 1 year ago message-square43fedilinkarrow-up1164
arrow-up1164imageWhat the f*ck is a monadfeddit.de NX2 ( @nx2@feddit.de ) Programmer Humor@programming.dev • 1 year ago message-square43fedilink
minus-square KerryAnnCoder ( @KerryAnnCoder@lemmy.blahaj.zone ) linkfedilink1•1 year agoMaybe I’m not understanding it correctly, but Monads are data-structure objects whose methods return an data-structure object of the same type. Like, (using Typescript): interface IdentityMonad<T> { map: ((fn: (v: T)) => T) => IdentityMonad<T>; value: T } const Identity = <T>(value: T) => { const map = (fn) => Identity(fn(initialValue)); return { map, value } } const square = (x) => x * x; const twoId = Identity<number>(2); console.log(twoId.value) //=> 2; const sixtyFourId = twoId.map(square).map(square).map(square).map(square).map(square); console.log(sixtyFourId.value) // => 64;
Maybe I’m not understanding it correctly, but Monads are data-structure objects whose methods return an data-structure object of the same type.
Like, (using Typescript):