Apesar de linguagens funcionais estarem amplamente disponíveis há mais de 50 anos (Lisp foi apresentada ao mundo em 1958), surpreendentemente o primeiro livro texto que aborda estruturas de dados e seus algoritmos em um contexto funcional só foi publicado por Okasaki em 1998, ou seja, 40 anos após o nascimento de Lisp.
EDs funcionais têm diversas características que as diferenciam de suas colegas imperativas. Essas diferenças são tantas que justificam o seu estudo de maneira independente. Por exemplo, EDs funcionais são persistentes, o que significa que diversas versões da mesma ED podem conviver simultaneamente facilitando, por exemplo, a programação concorrente e paralela nestas estruturas.
Neste curso vamos explorar algumas das estruturas de dados funcionais mais comuns. Também veremos as técnicas mais comuns que são utilizadas nas suas implementações. Assim, ao final deste curso, o aluno saberá desenvolver a sua própria ED ou adaptar uma ED imperativa a um contexto funcional sempre que precisar.
Datas: 23/11, 30/11 e 07/12
Horário: 08h30 às 12h30
Local: Universidade Federal do ABC, campus Santo André. Sala a confirmar.
Contato: e.francesquini@ufabc.edu.br