다음 세미그룹 예시는 법칙을 만족하나요?
import { Semigroup } from 'fp-ts/Semigroup'
/** 항상 두 번째 인자를 반환 */
const last = <A>(): Semigroup<A> => ({
concat: (_first, second) => second
})
만족합니다.
first
,second
와concat
의 결과(second
)는 모두 동일한A
타입입니다.concat
은 결합법칙을 만족합니다.concat(concat(first, second), third)
는concat(second, third)
로 평가된 다음third
로 평가됩니다.concat(first, concat(second, third))
는concat(first, third)
로 평가된 다음third
로 평가됩니다.