Skip to content

Latest commit

 

History

History
65 lines (43 loc) · 3.7 KB

File metadata and controls

65 lines (43 loc) · 3.7 KB

8 - Paradigma da Programação Funcional

1. Introdução ao Paradigma Funcional

O paradigma funcional é um estilo de programação que trata a computação como a avaliação de funções matemáticas e evita o uso de estados mutáveis e efeitos colaterais.

2. Funções Puras

Funções que sempre retornam o mesmo resultado para os mesmos argumentos e não têm efeitos colaterais. Facilitam a previsibilidade e a testabilidade do código.

3. Imutabilidade

Princípio de que uma vez que um dado é criado, ele não deve ser modificado. Em vez disso, novas versões dos dados são criadas, preservando o original.

4. Funções de Ordem Superior

Funções que aceitam outras funções como argumentos e/ou retornam funções. São usadas para criar abstrações mais gerais e reutilizáveis.

5. Aplicação Parcial

Técnica de criar novas funções a partir de funções existentes, fixando alguns dos argumentos e retornando uma função que aceita os argumentos restantes.

6. Currying

Processo de transformar uma função que aceita múltiplos argumentos em uma sequência de funções, cada uma aceitando um argumento. Facilita a composição e a aplicação parcial.

7. Composição de Funções

Técnica de combinar várias funções em uma única função. Permite construir funções complexas a partir de funções simples e modulares.

8. Funções Anônimas (Lambdas)

Funções que não possuem um nome, frequentemente usadas para operações simples e passadas como argumentos para outras funções.

9. Recursão

Técnica de definir uma função em termos de si mesma para resolver problemas que podem ser divididos em subproblemas menores. Substitui estruturas de loop em muitos casos.

10. Monads

Abstrações que representam computações como sequências de operações, facilitando o encadeamento de funções e o tratamento de efeitos colaterais de maneira controlada.

11. Funções Imutáveis

Funções que não alteram o estado global ou os dados passados a elas, garantindo que o comportamento da função seja previsível e consistente.

12. Funções de Alta Ordem

Funções que operam sobre outras funções, como map, filter e reduce, permitindo manipulações declarativas e transformações de coleções de dados.

13. Estruturas de Dados Funcionais

Estruturas de dados imutáveis que suportam operações funcionais, como listas, árvores e conjuntos, sem alterar a estrutura original.

14. Avaliação Preguiçosa

Estratégia de avaliar expressões somente quando necessário, melhorando a eficiência e possibilitando a construção de estruturas de dados infinitas.

15. Tipos Algébricos

Tipos de dados que combinam outros tipos, como tipos somatórios (ou tipos de união) e tipos de produto, para modelar dados complexos de forma robusta.

16. Funções de Ordem Inferior

Funções que não são de ordem superior, ou seja, não aceitam outras funções como argumentos nem retornam funções. São as funções básicas do paradigma.

17. Funções de Alta Ordem (Continuação)

Aprofundamento nas funções de alta ordem, explorando casos de uso como composição, transformação e filtragem de coleções.

18. Efeitos Colaterais

Como o paradigma funcional lida com efeitos colaterais, evitando-os ou gerenciando-os através de abstrações como monads.

19. Programação Declarativa

Abordagem onde você descreve o que deve ser feito, em vez de como fazer. No contexto funcional, foca em expressar lógica e transformar dados.

20. Tipos de Dados Funcionais Avançados

Exploração de tipos de dados mais avançados, como tipos dependentes e genéricos, que adicionam mais flexibilidade e segurança ao código funcional.