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

Referências

Updated: