Use o código e tenha 10% de desconto!

OCaml Programação funcional na prática

Andrei de Araújo Formiga

Sumário

  • 1 Introdução
    • 1.1 Por que programação funcional?
    • 1.2 Características de OCaml
    • 1.3 Por que OCaml?
    • 1.4 Usos e aplicações
    • 1.5 O sistema OCaml
    • 1.6 Organização do livro
  • 2 Tipos e valores básicos
    • 2.1 Primeiros passos
    • 2.2 Variáveis e tipos básicos
    • 2.3 Funções
    • 2.4 Tipos agregados
  • 3 Registros e variantes
    • 3.1 Sinônimos de tipos
    • 3.2 Registros
    • 3.3 Variantes simples
    • 3.4 Variantes com valores associados
    • 3.5 Tipos recursivos
    • 3.6 Árvores
  • 4 Polimor%smo e mais padrões
    • 4.1 As listas prede!nidas
    • 4.2 Mais sobre padrões
    • 4.3 Árvores polimór!cas e valores opcionais
  • 5 Programação funcional
    • 5.1 A essência da programação funcional
    • 5.2 Mutabilidade e outros efeitos
    • 5.3 Programação recursiva
    • 5.4 Funções de primeira classe
    • 5.5 Padrões de recursividade
    • 5.6 Tipos como fonte de informação
    • 5.7 Dois operadores para aplicar funções
    • 5.8 Funções de alta ordem em árvores
  • 6 Exemplo: interpretador e compilador
    • 6.1 Expressões aritméticas
    • 6.2 Interpretação
    • 6.3 Uma máquina de pilha
    • 6.4 Compilação
    • 6.5 Otimização
  • 7 Características imperativas
    • 7.1 O tipo unit
    • 7.2 Entrada e saída
    • 7.3 Sequenciamento de expressões
    • 7.4 Atualização funcional de registros
    • 7.5 Registros com campos mutáveis
    • 7.6 Referências
    • 7.7 Arrays
    • 7.8 Estruturas de controle imperativas
    • 7.9 Exceções
  • 8 Módulos
    • 8.1 Estruturas e assinaturas
    • 8.2 Acesso aos itens de um módulo
    • 8.3 Módulos e arquivos
    • 8.4 Funtores
    • 8.5 Extensão de estruturas e assinaturas
    • 8.6 Módulos de primeira classe
  • 9 Exemplo: árvores de decisão
    • 9.1 O problema do Titanic
    • 9.2 Um pouco sobre aprendizado de máquina
    • 9.3 Inferência de árvores com ID3
  • 10 Parâmetros rotulados
    • 10.1 Rótulos para nomear parâmetros
    • 10.2 Parâmetros opcionais
    • 10.3 Inferência de tipos e funções de alta ordem
    • 10.4 Sugestões para o bom uso de rótulos
  • 11 Variantes polimór%cas e extensíveis
    • 11.1 Limitações dos tipos variantes
    • 11.2 Variante polimór!cas
    • 11.3 Variantes extensíveis
    • 11.4 Variantes de tipos variantes
  • 12 Um pouco sobre objetos
    • 12.1 Objetos
    • 12.2 Classes
  • 13 Organização de projetos e testes
    • 13.1 Organização do projeto com OASIS
    • 13.2 Testes com OUnit

Dados do produto

Número de páginas:
278
ISBN:
978-85-5519-070-4
Data publicação:
01/2015

Compartilhe!

Compartilhe no Facebook Compartilhe no Twitter