Swift version: 5.0
A functor is any data type that can be mapped over using
map(), as long it abides by two laws:
map(), the result should be the same as mapping first A then B individually.
Both of those laws sound obvious, but that doesn’t mean they aren’t important. Arrays are functors, sets are functors, optionals are functors, and more.
Available from iOS 8.0 – learn more in my book Pro Swift
This is part of the Swift Knowledge Base, a free, searchable collection of solutions for common iOS questions.