crocks
Version:
A collection of well known Algebraic Datatypes for your utter enjoyment.
16 lines (12 loc) • 408 B
JavaScript
/** @license ISC License (c) copyright 2017 original and current authors */
/** @author Ian Hofmann-Hicks (evil) */
var hasAlg = require('./hasAlg')
var isContravariant = require('./isContravariant')
var isFunctor = require('./isFunctor')
// isProfunctor :: a -> Boolean
function isProfunctor(m) {
return isContravariant(m)
&& isFunctor(m)
&& hasAlg('promap', m)
}
module.exports = isProfunctor