Properties
applicativeComposition
applicativeComposition: function
Type declaration
-
- <A, B, C>(fa: HK<F, A>, fab: HK<F, function>, fbc: HK<F, function>): Equiv<HK<F, C>>
-
Type parameters
Parameters
-
fa: HK<F, A>
-
fab: HK<F, function>
-
fbc: HK<F, function>
Returns Equiv<HK<F, C>>
applicativeHomomorphism
applicativeHomomorphism: function
Type declaration
-
- <A, B>(a: A, f: function): Equiv<HK<F, B>>
-
Type parameters
Parameters
Returns Equiv<HK<F, B>>
applicativeIdentity
applicativeIdentity: function
Type declaration
-
-
Type parameters
Parameters
Returns Equiv<HK<F, A>>
applicativeInterchange
applicativeInterchange: function
Type declaration
-
- <A, B>(a: A, ff: HK<F, function>): Equiv<HK<F, B>>
-
Type parameters
Parameters
Returns Equiv<HK<F, B>>
applicativeMap
applicativeMap: function
Type declaration
-
- <A, B>(fa: HK<F, A>, f: function): Equiv<HK<F, B>>
-
Type parameters
Parameters
Returns Equiv<HK<F, B>>
applicativeUnit
applicativeUnit: function
Type declaration
-
-
Type parameters
Parameters
Returns Equiv<HK<F, A>>
applyComposition
applyComposition: function
Type declaration
-
- <A, B, C>(fa: HK<F, A>, fab: HK<F, function>, fbc: HK<F, function>): Equiv<HK<F, C>>
-
Type parameters
Parameters
-
fa: HK<F, A>
-
fab: HK<F, function>
-
fbc: HK<F, function>
Returns Equiv<HK<F, C>>
applyMap2Consistency
applyMap2Consistency: function
Type declaration
-
- <A, B>(fa: HK<F, A>, f: HK<F, function>): Equiv<HK<F, B>>
-
Type parameters
Parameters
-
fa: HK<F, A>
-
f: HK<F, function>
Returns Equiv<HK<F, B>>
applyProductConsistency
applyProductConsistency: function
Type declaration
-
- <A, B>(fa: HK<F, A>, f: HK<F, function>): Equiv<HK<F, B>>
-
Type parameters
Parameters
-
fa: HK<F, A>
-
f: HK<F, function>
Returns Equiv<HK<F, B>>
covariantComposition
covariantComposition: function
Type declaration
-
- <A, B, C>(fa: HK<F, A>, f: function, g: function): Equiv<HK<F, C>>
-
Type parameters
Parameters
-
fa: HK<F, A>
-
f: function
-
g: function
Returns Equiv<HK<F, C>>
covariantIdentity
covariantIdentity: function
Type declaration
-
-
Type parameters
Parameters
Returns Equiv<HK<F, A>>
flatMapAssociativity
flatMapAssociativity: function
Type declaration
-
- <A, B, C>(fa: HK<F, A>, f: function, g: function): Equiv<HK<F, C>>
-
Type parameters
Parameters
-
fa: HK<F, A>
-
f: function
-
-
Parameters
Returns HK<F, B>
-
g: function
-
-
Parameters
Returns HK<F, C>
Returns Equiv<HK<F, C>>
flatMapConsistentApply
flatMapConsistentApply: function
Type declaration
-
- <A, B>(fa: HK<F, A>, fab: HK<F, function>): Equiv<HK<F, B>>
-
Type parameters
Parameters
-
fa: HK<F, A>
-
fab: HK<F, function>
Returns Equiv<HK<F, B>>
followedByConsistency
followedByConsistency: function
Type declaration
-
-
Type parameters
Parameters
-
fa: HK<F, A>
-
fb: HK<F, B>
Returns Equiv<HK<F, B>>
followedByLConsistency
followedByLConsistency: function
Type declaration
-
-
Type parameters
Parameters
-
fa: HK<F, A>
-
fb: HK<F, B>
Returns Equiv<HK<F, B>>
forEffectConsistency
forEffectConsistency: function
Type declaration
-
-
Type parameters
Parameters
-
fa: HK<F, A>
-
fb: HK<F, B>
Returns Equiv<HK<F, A>>
forEffectLConsistency
forEffectLConsistency: function
Type declaration
-
-
Type parameters
Parameters
-
fa: HK<F, A>
-
fb: HK<F, B>
Returns Equiv<HK<F, A>>
tailRecMConsistentFlatMap
tailRecMConsistentFlatMap: function
Type declaration
-
- <A>(a: A, f: function): Equiv<HK<F, A>>
-
Type parameters
Parameters
-
a: A
-
f: function
-
-
Parameters
Returns HK<F, A>
Returns Equiv<HK<F, A>>
Type class laws defined for Monad.
This is an abstract definition. In order to use it in unit testing, the implementor must think of a strategy to evaluate the truthiness of the returned
Equivvalues.Even though in TypeScript the Funfix library is using classes to express these laws, when implementing this class it is recommended that you implement it as a mixin using
implements, instead of extending it directly withextends. See TypeScript: Mixins for details and note that we already haveapplyMixinsdefined.We are doing this in order to support multiple inheritance and to avoid inheriting any
staticmembers. In the Flow definitions (e.g..js.flowfiles) for Funfix these classes are defined withinterface, as they are meant to be interfaces that sometimes have default implementations and not classes.