Funktorbaserte
Funktorbaserte tilnærminger refererer til designprinsipper i funksjonell programmering som er bygget rundt begrepet funktor. En funktor er en typekonstruksjon som kan kartlegges over ved hjelp av en map-operasjon, slik at man kan anvende en funksjon på alle innholdselementene i strukturen uten å endre dens form. Dette gjør det mulig å separere datarepresentasjon fra operasjoner som transformerer dataene.
I praksis blir en funktor definert ved å implementere en map- eller fmap-funksjon. I Haskell er dette
Det finnes også formelle lover for funktorer: identitetsloven, fmap id = id, og komposisjonsloven, fmap (g . f)
Eksempler: i Haskell er listestrukturen en vanlig funktor; andre eksempler er Maybe/Option, Either og ulike tre-
Forhold til andre abstraksjoner: funktorer er grunnleggende for applicative functors og monader, som utvider map til
Begrensninger og hensyn: ikke alle problemer passer naturlig inn i en funktor, og språkteknologiens støtte varierer