Os funções distribuidoras são um conceito matemático que permite aplicar funções a estruturas de dados compostas. No contexto da programação funcional, elas são usadas para trabalhar com estruturas de dados como listas, árvores e outros tipos de coleções. Em Haskell, essas funções são implementadas através de tipos especiais chamados de funtores distribuidores.Eles são dual para Traversable, que é outra classe de função. Traversable é usado para percorrer uma coleção de  dados, enquanto distributive functors é usado para aplicar uma função a cada elemento de uma coleção. 