O paradigma de programação funcionalista (ou funcional) tem como principal conceito de programação a abordagem das estruturas de dados do programa como funções matemáticas. A respeito do paradigma funcionalista, assinale a alternativa correta.
Funções podem ser passadas como argumento e retornadas como resultado, mas não podem ser guardadas como valores em variáveis, tampouco armazenadas como componentes de estruturas de dados maiores.
Ter funções como cidadãos de primeira classe em uma linguagem funcional implica não ser possível especificar um valor funcional sem dar um nome a ela.
Uma função anônima (lambda) é uma expressão funcional que não especifica a relação entre entrada e saída.
Uma diferença do paradigma funcional em relação à imperativa é o que costuma ser chamado de transparência referencial: cada parte do programa funcional sempre tem o mesmo resultado, independentemente do contexto em que ele se encontra.
Em linguagens puramente funcionais, não é possível fazer uso da recursão, tampouco a recursão é recomendada em linguagens funcionais, por motivos de eficiência e de constantemente causar estouro de pilhas.