UNPKG

crocks

Version:

A collection of well known Algebraic Datatypes for your utter enjoyment.

14 lines (10 loc) 360 B
/** @license ISC License (c) copyright 2016 original and current authors */ /** @author Ian Hofmann-Hicks (evil) */ var hasAlg = require('./hasAlg') var isSemigroup = require('./isSemigroup') // isMonoid :: a -> Boolean function isMonoid(m) { return isSemigroup(m) && (hasAlg('empty', m) || hasAlg('empty', m.constructor)) } module.exports = isMonoid