1
0
mirror of https://github.com/IBM/fp-go.git synced 2025-08-10 22:31:32 +02:00

Add Do notation support and Bind to Monads (#100)

* fix: implement bind, let, apS for serveral monads

Signed-off-by: Dr. Carsten Leue <carsten.leue@de.ibm.com>

* fix: implement bind for maps

Signed-off-by: Dr. Carsten Leue <carsten.leue@de.ibm.com>

* fix: implement do notation for more monads

Signed-off-by: Dr. Carsten Leue <carsten.leue@de.ibm.com>

* fix: add bind to more monads

Signed-off-by: Dr. Carsten Leue <carsten.leue@de.ibm.com>

* fix: add Do and Bind support to Monads

Signed-off-by: Dr. Carsten Leue <carsten.leue@de.ibm.com>

---------

Signed-off-by: Dr. Carsten Leue <carsten.leue@de.ibm.com>
This commit is contained in:
Carsten Leue
2024-01-31 21:34:46 +01:00
committed by GitHub
parent c73467caf5
commit 7d3759619c
77 changed files with 3665 additions and 174 deletions

View File

@@ -35,12 +35,12 @@ func strictEq[A comparable](a, b A) bool {
return a == b
}
// FromStrictEquals constructs an `Eq` from the canonical comparison function
// FromStrictEquals constructs an [EQ.Eq] from the canonical comparison function
func FromStrictEquals[T comparable]() Eq[T] {
return FromEquals(strictEq[T])
}
// FromEquals constructs an `Eq` from the comparison function
// FromEquals constructs an [EQ.Eq] from the comparison function
func FromEquals[T any](c func(x, y T) bool) Eq[T] {
return eq[T]{c: c}
}