Programming with pure functions. Play Functional Programming trivia solo to sharpen your knowledge, or challenge a friend head-to-head in Trivia Tango — every question comes with an explanation so you learn as you play. Questions span every level, from easy warm-ups to expert-level stumpers, so there's a real challenge here however much you already know.
A mix of easy, medium and hard — questions run from warm-up to expert, so there's a real challenge at every level. Think you know the answers? Play to find out.
In functional programming, a function that always returns the same output for the same input and has no side effects is called this.
Difficulty: EasyThis pattern in category theory represents a structure that can apply wrapped functions to wrapped values, sitting between Functor and Monad.
Difficulty: MediumThis GHC extension allows higher-rank polymorphism, where quantifiers can appear inside function types.
Difficulty: HardThis term describes data that cannot be changed after it is created, a core concept in functional programming.
Difficulty: EasyThis monadic operation takes a wrapped value and a function that returns a wrapped value, flattening the result.
Difficulty: MediumThis proof assistant uses dependent types and the calculus of constructions as its foundation.
Difficulty: HardThis higher-order function applies a given function to each element of a list, returning a new list with the results.
Difficulty: EasyThis functional pattern represents computations that produce multiple results, like a list of all possible outcomes.
Difficulty: Medium