- Definition
- Language structures implementing the functional programming paradigm

Features
Immutability (Haskell
, Scala
, Elixir
, Clojure
, Rust
) Once created, values cannot be changed, reducing side effects.
Pure Functions (Haskell
, Elm
, F#
) Functions without side effects that always produce the same output for given input.
Lazy Evaluation (Haskell
, Scala
, Python (via generators)
) Delays computation until the result is needed.
Pattern Matching (Haskell
, Rust
, Scala
, F#
, OCaml
) Decomposes data structures using matching rules.
Option/Maybe Types (Haskell
, Scala
, Rust
, F#
) Wrapper for values that may be present or not.
Monads (Haskell
, Scala
, F#
) Abstractions that structure computations with side effects.
Function Composition (Haskell
, Scala
, F#
) Combining functions to build complex behavior.
Pipelines (Elixir
, F#
, OCaml
, JavaScript
with RxJS) Chain function calls for readability.