import { struct } from "https://deno.land/x/fun@v2.0.0-alpha.6/monoid.ts";
Create a struct Monoid from an struct of Monoids.
Examples
Example 1
Example 1
import { struct, concatAll } from "./monoid.ts";
import * as N from "./number.ts";
const monoid = struct({
sum: N.MonoidNumberSum,
mult: N.MonoidNumberProduct
});
const concat = concatAll(monoid);
const result1 = concat([
{ sum: 1, mult: 2 },
{ sum: 3, mult: 4 }
]); // { sum: 4, mult: 8 }
const result2 = concat([]); // { sum: 0, mult: 1 }
const result3 = concat([{ sum: 1, mult: 2 }]); // { sum: 1, mult: 2 }