package functor

import "github.com/IBM/fp-go/internal/functor"

Index

Functions

func Flap

func Flap[FAB ~func(A) B, A, B, HKTFAB, HKTB any](
	fmap func(func(FAB) B) func(HKTFAB) HKTB,
	a A,
) func(HKTFAB) HKTB

func Let

func Let[S1, S2, B, HKTS1, HKTS2 any](
	mmap func(func(S1) S2) func(HKTS1) HKTS2,
	key func(B) func(S1) S2,
	f func(S1) B,
) func(HKTS1) HKTS2

func LetTo

func LetTo[S1, S2, B, HKTS1, HKTS2 any](
	mmap func(func(S1) S2) func(HKTS1) HKTS2,
	key func(B) func(S1) S2,
	b B,
) func(HKTS1) HKTS2

func Map

func Map[A, B, HKTGA, HKTGB, HKTFGA, HKTFGB any](
	fmap func(func(HKTGA) HKTGB) func(HKTFGA) HKTFGB,
	gmap func(func(A) B) func(HKTGA) HKTGB,
	f func(A) B) func(HKTFGA) HKTFGB

func MonadFlap

func MonadFlap[FAB ~func(A) B, A, B, HKTFAB, HKTB any](
	fmap func(HKTFAB, func(FAB) B) HKTB,

	fab HKTFAB,
	a A,
) HKTB

func MonadLet

func MonadLet[S1, S2, B, HKTS1, HKTS2 any](
	mmap func(HKTS1, func(S1) S2) HKTS2,
	first HKTS1,
	key func(B) func(S1) S2,
	f func(S1) B,
) HKTS2

func MonadMap

func MonadMap[A, B, HKTGA, HKTGB, HKTFGA, HKTFGB any](
	fmap func(HKTFGA, func(HKTGA) HKTGB) HKTFGB,
	gmap func(HKTGA, func(A) B) HKTGB,
	fa HKTFGA,
	f func(A) B) HKTFGB

HKTFGA = HKT[F, HKT[G, A]] HKTFGB = HKT[F, HKT[G, B]]

Types

type Functor

type Functor[A, B, HKTA, HKTB any] interface {
	Map(func(A) B) func(HKTA) HKTB
}

Source Files

flap.go functor.go types.go

Directories

PathSynopsis
internal/functor/testing
Version
v1.0.151 (latest)
Published
Nov 23, 2024
Platform
linux/amd64
Imports
1 packages
Last checked
4 months ago

Tools for package owners.