Matemática Funcional em Scheme
Tive a experiência de ministrar um minicurso na SECCOM 2019 - a Semana Acadêmica de Ciência da Computação e Sistemas de Informação da UFSC - sobre programação matemática funcional na linguagem Scheme.
Todo o conteúdo está disponível online na webpage oficial e também no GitHub.
Resumo
Scheme é um dos principais “dialetos” de Lisp, que adere ao paradigma funcional e é a segunda linguagem de programação mais antiga ainda amplamente utilizada. Devido à sua flexibilidade e simplicidade, Scheme é usada para extender o comportamento de outros softwares e foi adotada como a linguagem de scripting oficial do GNU Project.
Conteúdo
O oficina abordou algumas técnicas de programação funcional em Scheme para algoritmos matemáticos e métodos numéricos, incluindo:
- Tipos de recursão
- Tail Call Optimization
- Abstração com funções de alta ordem e closures
- Algoritmo de Exponenciação Rápida (Successive Squaring)
- Método de Newton e outros Pontos Fixos
- Processamento simbólico e metalinguagem
- Conversão de Polinômios para a Forma de Horner
- Diferenciação Analítica
- Paradigma de fluxo de dados: streams e lazy evaluation
- Séries infinitas e Memoization