Directories
ΒΆ
| Path | Synopsis |
|---|---|
|
Package array provides functional programming utilities for working with Go slices.
|
Package array provides functional programming utilities for working with Go slices. |
|
Package assert provides functional assertion helpers for testing.
|
Package assert provides functional assertion helpers for testing. |
|
Package boolean provides functional programming utilities for working with boolean values.
|
Package boolean provides functional programming utilities for working with boolean values. |
|
Package bounded provides types and functions for working with bounded ordered types.
|
Package bounded provides types and functions for working with bounded ordered types. |
|
Package bytes provides functional programming utilities for working with byte slices.
|
Package bytes provides functional programming utilities for working with byte slices. |
|
Package consumer provides types and utilities for functions that consume values without returning results.
|
Package consumer provides types and utilities for functions that consume values without returning results. |
|
Package context contains versions of reader IO monads that work with a golang context.Context
|
Package context contains versions of reader IO monads that work with a golang context.Context |
|
readerioresult
package readerioresult provides a specialized version of [readerioeither.ReaderIOResult] that uses context.Context as the context type and [error] as the left (error) type.
|
package readerioresult provides a specialized version of [readerioeither.ReaderIOResult] that uses context.Context as the context type and [error] as the left (error) type. |
|
readerioresult/http
Package http provides functional HTTP client utilities built on top of ReaderIOResult monad.
|
Package http provides functional HTTP client utilities built on top of ReaderIOResult monad. |
|
readerioresult/http/builder
Package builder provides utilities for building HTTP requests in a functional way using the ReaderIOResult monad.
|
Package builder provides utilities for building HTTP requests in a functional way using the ReaderIOResult monad. |
|
readerresult
Package readerresult provides logging utilities for the ReaderResult monad, which combines the Reader monad (for dependency injection via context.Context) with the Result monad (for error handling).
|
Package readerresult provides logging utilities for the ReaderResult monad, which combines the Reader monad (for dependency injection via context.Context) with the Result monad (for error handling). |
|
readerresult/exec
package readerresult implements a specialization of the Reader monad assuming a golang context as the context of the monad and a standard golang error
|
package readerresult implements a specialization of the Reader monad assuming a golang context as the context of the monad and a standard golang error |
|
statereaderioresult
Package statereaderioresult provides a functional programming abstraction that combines four powerful concepts: State, Reader, IO, and Result monads, specialized for Go's context.Context.
|
Package statereaderioresult provides a functional programming abstraction that combines four powerful concepts: State, Reader, IO, and Result monads, specialized for Go's context.Context. |
|
Package di implements functions and data types supporting dependency injection patterns.
|
Package di implements functions and data types supporting dependency injection patterns. |
|
Package either provides the Either monad, a data structure representing a value of one of two possible types.
|
Package either provides the Either monad, a data structure representing a value of one of two possible types. |
|
exec
Package exec provides utilities for executing system commands with Either-based error handling.
|
Package exec provides utilities for executing system commands with Either-based error handling. |
|
http
Package http provides utilities for creating HTTP requests with Either-based error handling.
|
Package http provides utilities for creating HTTP requests with Either-based error handling. |
|
testing
Package testing provides utilities for testing Either monad laws.
|
Package testing provides utilities for testing Either monad laws. |
|
Package endomorphism provides functional programming utilities for working with endomorphisms.
|
Package endomorphism provides functional programming utilities for working with endomorphisms. |
|
Package eq provides type-safe equality comparisons for any type in Go.
|
Package eq provides type-safe equality comparisons for any type in Go. |
|
Package erasure provides utilities for type erasure and type-safe conversion between generic types and the any type.
|
Package erasure provides utilities for type erasure and type-safe conversion between generic types and the any type. |
|
Package errors provides functional utilities for working with Go errors.
|
Package errors provides functional utilities for working with Go errors. |
|
Package function provides functional programming utilities for function composition, transformation, and manipulation.
|
Package function provides functional programming utilities for function composition, transformation, and manipulation. |
|
Package http provides functional programming utilities for working with HTTP requests and responses.
|
Package http provides functional programming utilities for working with HTTP requests and responses. |
|
builder
Package builder provides a functional, immutable HTTP request builder with composable operations.
|
Package builder provides a functional, immutable HTTP request builder with composable operations. |
|
headers
Package headers provides constants and utilities for working with HTTP headers in a functional programming style.
|
Package headers provides constants and utilities for working with HTTP headers in a functional programming style. |
|
Package identity implements the Identity monad, the simplest possible monad.
|
Package identity implements the Identity monad, the simplest possible monad. |
|
Package idiomatic provides functional programming constructs optimized for idiomatic Go.
|
Package idiomatic provides functional programming constructs optimized for idiomatic Go. |
|
context/readerresult
Package readerresult provides a ReaderResult monad specialized for context.Context.
|
Package readerresult provides a ReaderResult monad specialized for context.Context. |
|
ioresult
Package ioresult provides functional programming combinators for working with IO operations that can fail with errors, following Go's idiomatic (value, error) tuple pattern.
|
Package ioresult provides functional programming combinators for working with IO operations that can fail with errors, following Go's idiomatic (value, error) tuple pattern. |
|
ioresult/exec
Package exec provides utilities for executing system commands with IOResult-based error handling.
|
Package exec provides utilities for executing system commands with IOResult-based error handling. |
|
option
Package option implements the Option monad using idiomatic Go tuple signatures.
|
Package option implements the Option monad using idiomatic Go tuple signatures. |
|
option/number
Package number provides Option-based utilities for number conversions.
|
Package number provides Option-based utilities for number conversions. |
|
readerioresult
Package readerioresult provides a ReaderIOResult monad that combines Reader, IO, and Result monads.
|
Package readerioresult provides a ReaderIOResult monad that combines Reader, IO, and Result monads. |
|
readerresult
Package readerresult provides a ReaderResult monad that combines the Reader and Result monads.
|
Package readerresult provides a ReaderResult monad that combines the Reader and Result monads. |
|
result
Package result provides an idiomatic Go approach to error handling using the (value, error) tuple pattern.
|
Package result provides an idiomatic Go approach to error handling using the (value, error) tuple pattern. |
|
result/exec
Package exec provides utilities for executing system commands with Either-based error handling.
|
Package exec provides utilities for executing system commands with Either-based error handling. |
|
result/http
Package http provides utilities for creating HTTP requests with Either-based error handling.
|
Package http provides utilities for creating HTTP requests with Either-based error handling. |
|
internal
|
|
|
applicative/testing
Package testing provides law-based testing utilities for applicatives.
|
Package testing provides law-based testing utilities for applicatives. |
|
monad/testing
Package testing provides law-based testing utilities for monads.
|
Package testing provides law-based testing utilities for monads. |
|
Package io provides the IO monad, representing synchronous computations that cannot fail.
|
Package io provides the IO monad, representing synchronous computations that cannot fail. |
|
Package ioeither provides the IOEither monad, combining IO effects with Either for error handling.
|
Package ioeither provides the IOEither monad, combining IO effects with Either for error handling. |
|
generic
Code generated by go generate; DO NOT EDIT.
|
Code generated by go generate; DO NOT EDIT. |
|
Package iooption provides the IOOption monad, combining IO effects with Option for optional values.
|
Package iooption provides the IOOption monad, combining IO effects with Option for optional values. |
|
Package ioresult provides the IOResult monad, combining IO effects with Result for error handling.
|
Package ioresult provides the IOResult monad, combining IO effects with Result for error handling. |
|
iterator
|
|
|
iter
Package iter provides functional programming utilities for Go 1.23+ iterators.
|
Package iter provides functional programming utilities for Go 1.23+ iterators. |
|
stateless
Package stateless defines a stateless (pure) iterator, i.e.
|
Package stateless defines a stateless (pure) iterator, i.e. |
|
Package json provides functional wrappers around Go's encoding/json package using Either for error handling.
|
Package json provides functional wrappers around Go's encoding/json package using Either for error handling. |
|
Package lazy provides a functional programming abstraction for synchronous computations without side effects.
|
Package lazy provides a functional programming abstraction for synchronous computations without side effects. |
|
Package logging provides utilities for creating logging callbacks from standard log.Logger instances.
|
Package logging provides utilities for creating logging callbacks from standard log.Logger instances. |
|
Package magma provides the Magma algebraic structure.
|
Package magma provides the Magma algebraic structure. |
|
Package monoid provides the Monoid algebraic structure.
|
Package monoid provides the Monoid algebraic structure. |
|
Package number provides algebraic structures and utility functions for numeric types.
|
Package number provides algebraic structures and utility functions for numeric types. |
|
Package optics provides functional optics for composable data access and manipulation.
|
Package optics provides functional optics for composable data access and manipulation. |
|
iso
Package iso provides isomorphisms - bidirectional transformations between types without loss of information.
|
Package iso provides isomorphisms - bidirectional transformations between types without loss of information. |
|
iso/lens
Package lens provides conversions from isomorphisms to lenses.
|
Package lens provides conversions from isomorphisms to lenses. |
|
iso/option
Package option provides isomorphisms for working with Option types.
|
Package option provides isomorphisms for working with Option types. |
|
lens
Package lens provides functional optics for zooming into and modifying nested data structures.
|
Package lens provides functional optics for zooming into and modifying nested data structures. |
|
lens/iso
Package iso provides utilities for composing lenses with isomorphisms.
|
Package iso provides utilities for composing lenses with isomorphisms. |
|
lens/option
Package option provides utilities for working with lenses that focus on optional values.
|
Package option provides utilities for working with lenses that focus on optional values. |
|
optional
Package optional provides optional optics for focusing on values that may not exist.
|
Package optional provides optional optics for focusing on values that may not exist. |
|
prism
Package prism provides prisms - optics for focusing on variants within sum types.
|
Package prism provides prisms - optics for focusing on variants within sum types. |
|
traversal
Package traversal provides traversals - optics for focusing on multiple values simultaneously.
|
Package traversal provides traversals - optics for focusing on multiple values simultaneously. |
|
Package option defines the Option data structure and its monadic operations.
|
Package option defines the Option data structure and its monadic operations. |
|
number
Package number provides Option-based utilities for number conversions.
|
Package number provides Option-based utilities for number conversions. |
|
Package ord provides the Ord type class for types that support total ordering.
|
Package ord provides the Ord type class for types that support total ordering. |
|
Package pair provides a strongly-typed data structure for holding two values with functional operations.
|
Package pair provides a strongly-typed data structure for holding two values with functional operations. |
|
Package predicate provides functional programming utilities for working with predicates.
|
Package predicate provides functional programming utilities for working with predicates. |
|
Package reader provides the Reader monad implementation for functional programming in Go.
|
Package reader provides the Reader monad implementation for functional programming in Go. |
|
generic
Package generic provides generic array operations for custom Reader types.
|
Package generic provides generic array operations for custom Reader types. |
|
Package readerio provides the ReaderIO monad, which combines the Reader and IO monads.
|
Package readerio provides the ReaderIO monad, which combines the Reader and IO monads. |
|
Package readerioeither provides a functional programming abstraction that combines three powerful concepts: Reader, IO, and Either monads.
|
Package readerioeither provides a functional programming abstraction that combines three powerful concepts: Reader, IO, and Either monads. |
|
generic
Code generated by go generate; DO NOT EDIT.
|
Code generated by go generate; DO NOT EDIT. |
|
package readerioresult provides a functional programming abstraction that combines three powerful concepts: Reader, IO, and Either monads.
|
package readerioresult provides a functional programming abstraction that combines three powerful concepts: Reader, IO, and Either monads. |
|
Package readeroption provides a monad transformer that combines the Reader and Option monads.
|
Package readeroption provides a monad transformer that combines the Reader and Option monads. |
|
Package readerresult provides a ReaderResult monad that combines the Reader and Result monads.
|
Package readerresult provides a ReaderResult monad that combines the Reader and Result monads. |
|
Package record contains monadic operations for maps as well as a rich set of utility functions
|
Package record contains monadic operations for maps as well as a rich set of utility functions |
|
Package result provides the Result monad, a specialized Either monad with error as the left type.
|
Package result provides the Result monad, a specialized Either monad with error as the left type. |
|
exec
Package exec provides utilities for executing system commands with Either-based error handling.
|
Package exec provides utilities for executing system commands with Either-based error handling. |
|
http
Package http provides utilities for creating HTTP requests with Either-based error handling.
|
Package http provides utilities for creating HTTP requests with Either-based error handling. |
|
testing
Package testing provides utilities for testing Either monad laws.
|
Package testing provides utilities for testing Either monad laws. |
|
Package retry provides functional retry policies and combinators for implementing retry logic with configurable backoff strategies.
|
Package retry provides functional retry policies and combinators for implementing retry logic with configurable backoff strategies. |
|
generic
Package generic provides generic retry combinators that work with any monadic type.
|
Package generic provides generic retry combinators that work with any monadic type. |
|
samples
|
|
|
mostly-adequate
Package mostlyadequate contains examples from the "Mostly Adequate Guide to Functional Programming" adapted to Go using fp-go.
|
Package mostlyadequate contains examples from the "Mostly Adequate Guide to Functional Programming" adapted to Go using fp-go. |
|
Package semigroup provides implementations of the Semigroup algebraic structure.
|
Package semigroup provides implementations of the Semigroup algebraic structure. |
|
Package statereaderioeither provides a functional programming abstraction that combines four powerful concepts: State, Reader, IO, and Either monads.
|
Package statereaderioeither provides a functional programming abstraction that combines four powerful concepts: State, Reader, IO, and Either monads. |
|
Package tailrec provides a trampoline implementation for tail-call optimization in Go.
|
Package tailrec provides a trampoline implementation for tail-call optimization in Go. |
|
Package tuple provides type-safe heterogeneous tuple data structures and operations.
|
Package tuple provides type-safe heterogeneous tuple data structures and operations. |
Click to show internal directories.
Click to hide internal directories.