Currying é uma técnica baseada no princípio de função matemática, criada por Moses Schönbinkel e Gottlob Frege, difundida principalmente por linguagens de programação funcional, permitindo aplicar parcialmente uma função a algum dos argumentos da função, por se tratar de uma técnica de encadeamento de funções. Sobre essa afirmativa, assinale a alternativa correta.

Questão

Currying é uma técnica baseada no princípio de função matemática, criada por Moses Schönbinkel e Gottlob Frege, difundida principalmente por linguagens de programação funcional, permitindo aplicar parcialmente uma função a algum dos argumentos da função, por se tratar de uma técnica de encadeamento de funções. Sobre essa afirmativa, assinale a alternativa correta.

Alternativas

a) Moses Schönbinkel e Gottlob Frege não foram os criadores da técnica de currying.

b) A técnica de currying não tem sua grande utilização por linguagens funcionais.

c) Aplicar parcialmente uma função está relacionado a aplicação parcial e não a currying.

d) Currying não é uma técnica baseada no conceito matemático de função.

e) Currying não se trata de uma técnica de encadeamento de funções conforme descrito.

86%

Explicação

A afirmação do enunciado mistura ideias corretas com uma caracterização incorreta.

  • O que é currying (conceito correto): currying é a transformação de uma função que recebe múltiplos argumentos (por exemplo, f(a,b,c)f(a,b,c)) em uma sequência de funções unárias (de um argumento), algo como f(a)(b)(c)f(a)(b)(c). Isso é um conceito matemático ligado a funções e é muito usado em linguagens funcionais.

  • Aplicação parcial vs currying: a aplicação parcial é o ato de fixar alguns argumentos de uma função e obter outra função mais específica. Isso frequentemente é facilitado por currying, mas não é “outra técnica” totalmente desconectada; elas são relacionadas.

  • Onde está o erro principal do enunciado: dizer que currying “se trata de uma técnica de encadeamento de funções” é impreciso. Encadeamento (ou composição/pipe) é outra ideia: pegar a saída de uma função e alimentar a próxima (ex.: h(x)=g(f(x))h(x)=g(f(x))). Currying, por sua vez, é reorganizar como os argumentos são recebidos, não encadear funções por composição.

Assim, dentre as alternativas, a única que corrige o ponto claramente errado na descrição é a que nega que currying seja uma técnica de encadeamento de funções.

Alternativa correta: (e).

Questões relacionadas

Ver últimas questões

Comece a estudar de forma inteligente hoje mesmo

Resolva questões de concursos e vestibulares com IA, gere simulados personalizados e domine os conteúdos que mais caem nas provas.

Cancele quando quiser.