Reference documentation
This section provides technical reference material for the functions, data types, and type classes provided by fp-ts.
Functions and utilities
Data types
In your code you will make heavy use of data types to model your domain. Data types can be instantiated so you can work with your data using the functionality they provide. Many data types implement functionality from type classes to help you write expressive code.
- Array
- Const
- Either
- EitherT
- Free
- FreeGroup
- Identity
- IO
- IOEither
- IORef
- IxIO
- Map
- MonadIO
- MonadTask
- NonEmptyArray
- Option
- OptionT
- Pair
- Reader
- ReaderT
- ReaderTaskEither
- Record
- Set
- State
- StateT
- Store
- StrMap
- Task
- TaskEither
- These
- Tree
- Tuple
- Validation
- Writer
- Zipper
Type classes
Type classes describe what you can do with your data. Implementations are provided by data types.
- Alt
- Alternative
- Applicative
- Apply
- Bifunctor
- BooleanAlgebra
- Bounded
- BoundedDistributiveLattice
- BoundedJoinSemilattice
- BoundedLattice
- BoundedMeetSemilattice
- Category
- Chain
- ChainRec
- Choice
- Comonad
- Compactable
- Contravariant
- DistributiveLattice
- Extend
- Field
- Filterable
- FilterableWithIndex
- Foldable
- Foldable2v
- FoldableWithIndex
- Functor
- FunctorWithIndex
- Group
- HeytingAlgebra
- Invariant
- IxMonad
- JoinSemilattice
- Lattice
- MeetSemilattice
- Monad
- Monoid
- Monoidal
- Ord
- Ordering
- Plus
- Profunctor
- Ring
- Semigroup
- Semigroupoid
- Semiring
- Setoid
- Strong
- Traversable
- Traversable2v
- TraversableWithIndex
- Unfoldable
- Witherable
Infrastructure
These modules enable the core functionality of fp-ts.