Fe logo

Functional Elixir

This library is a collection of useful data types brought to Elixir from other functional languages.

Available Types

Currently implemented types are:

  • FE.Maybe — for storing the value of a computation, or explicitly stating that the computation returned no value (no more t | nil returned by functions). Similar to Elm’s Maybe or Haskell’s Data.Maybe;
  • FE.Result— for indicating that a computation either successfully output a value or failed to do so, where the reason for failure can be acted on further.. Similar to Elm’s Result or Haskell’s Data.Either;
  • FE.Review — for indicating that a computation either succeeded completely, failed completely, or returned something meaningful, but problems were detected in the process. Similar to Haskell’s Data.These.

For more details about each of these types and detailed documentation, please consult the documentation page on hexdocs.


The library is available on hex.pm. You can use it in your project by adding it to dependencies:

defp deps() do
    {:fe, "~> 0.1.5"}


This library is licensed under the MIT License.