Slide 7
Slide 7 text
class Box {
constructor(a) {
this._value = a;
}
fmap(f) {
return new Box(f(this._value));
}
}
console.log(new Box(41).fmap((x) => x + 1));
0xc700025a8ba @ 0 : 16 02 LdaCurrentContextSlot [2]
0xc700025a8bc @ 2 : aa 00 ThrowReferenceErrorIfHole [0]
0xc700025a8be @ 4 : c4 Star0
0xc700025a8bf @ 5 : 2d 02 01 00 GetNamedProperty , [1], [0]
0xc700025a8c3 @ 9 : c2 Star2
0xc700025a8c4 @ 10 : 62 03 f8 02 CallUndefinedReceiver1 a0, r2, [2]
0xc700025a8c8 @ 14 : c3 Star1
0xc700025a8c9 @ 15 : 0b fa Ldar r0
0xc700025a8cb @ 17 : 69 fa f9 01 04 Construct r0, r1-r1, [4]
0xc700025a8d0 @ 22 : a9 Return