Skip to content

FrankSteps/Learning_Functional_Programming

Repository files navigation

📚 Paradigma de Programação Funcional (PF)

A programação funcional basea-se em funções matemáticas puras e imutabilidade de dados como principal artifício; isto é, em vez de dizer como um computador deve processar, diz-se o que quer obter. Descrevendo assim as relações e transformações de dados.

🔺 FUNÇÕES PURAS:

Funções puras são aquelas cujo resultado depende apenas de valores recebidos como entrada e não produzam efeitos colaterais - Ou seja, não alterem variáveis externas, não modifique arquivos, nem acessem dados fora de seu escopo. Assim, para os mesmos argumentos, retornam sempre o mesmo resultado.

🔺 IMUTABILIDADE:

No paradigma funcional, os dados são imutáveis, o que significa que não podem ser alterados após terem o seu valor atribuido. Ao invés de atribuir um novo valor à mesma variável, cria-se uma nova versão com as mudanças necessárias evitando assim comportamentos inesperados.

🔺 FUNÇÕES DE ALTA ORDEM:

Funções de alta ordem são aquelas que recebem funções como parâmetro e/ou retornam funções como resultado. Este artifício da programação funcional permite criar operações genéricas e reutilizáveis (como o map, filter e reduce).

🔺 RECURSÃO:

Em linguagens de paradigma funcional, a recursão é usada para no lugar de laços tradicionais como "while" e "for" por não haver variáveis mutáveis. Uma função recursiva chama a si mesma com parâmetros diferentes até atingir uma condição de parada, permitindo repetir cálculos de forma segura e declarativa.



🧮 DEMAIS ANOTAÇÕES:

Uma versão em inglẽs desta nota será lançada ao final do curso de PF -> Até lá, a mesma será modificada conforme o meu aprendizado for ampliando.

About

This repository contains my college work on functional programming with Haskell

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published