import { semigroup } from "https://deno.land/x/fun@v2.0.0-alpha.6/mod.ts";
const { first } = semigroup;
Get an Semigroup over A that always returns the first parameter supplied to concat (confusingly this is actually the last parameter since concat is in curried form).
Examples
Example 1
Example 1
import { first } from "./semigroup.ts";
import { pipe } from "./fn.ts";
type Person = { name: string, age: number };
const SemigroupPerson = first<Person>();
const octavia: Person = { name: "Octavia", age: 42 };
const kimbra: Person = { name: "Kimbra", age: 32 };
const brandon: Person = { name: "Brandon", age: 37 };
const firstPerson = pipe(
octavia,
SemigroupPerson.concat(kimbra),
SemigroupPerson.concat(brandon),
); // firstPerson === octavia