ocaml4noobs
ocaml4noobs copied to clipboard
Tutorial de OCaml para iniciantes na Linguagem.
Tutorial de OCaml para iniciantes na Linguagem.
ROADMAP
Parte 1 - Introdução
- O que é OCaml?
- História do OCaml
- Resumo e Linha do Tempo
- Instalação
- Instalando o Dune
- Hello World
- Porque OCaml?
- Concisa e Declarativa
- Lingugens Concisas vs Verbosas
- Menos Erros Acidentais
- Particularidades de OCaml
- Inferência de Tipos
- Imutabilidade
- Dados e Operações
- Materiais em Inglês para aprender OCaml
Intermezzo 1 - Ferramentas
Escolha a sua:
- VS Code
- Emacs
- VIM
Parte 2 - Funções
- O que é uma função
- Definição
- Funções Constantes
- Funções Lineares
- Funções Quadráticas
- Funções Trigonométricas
- Aplicando Funções
- Funções com um argumento
- Funções com múltiplos argumentos
- Tipos de função
- Função de alta ordem
- Currying
- Função em prefixo e em infixo
- Defininfo funções em infixo
- Funções lambda
- Recursão
- Canalização
- Composição de funções
Intermezzo 2 - Scripts e REPL
- Scripts e REPL
Parte 3 - Dados
- Tipos Pré-definidos
- Tipos Básicos
- Int
- Float
- Conversão de Tipos Numéricos
- Char
- String
- Acessando caracteres em uma String
- Módulo String
- Bool
- Operadores Booleanos
- Unit
- List
- Combinando listas
- Arrays
- Tuplas
- Records
- Valores Mutáveis
- Copiando e Alterando Valores
- Discriminated Union
- Pattern Matching
- Igualdade Estrutural
- Generics
Intermezzo 3 - Sistema de Build
- Dune
Parte 4 - Organização do Código
- Função Main
- Módulos e Assinaturas
- Assinaturas e Interfaces
- Tipos Abstratos
- Submódulos
- Abrindo Módulos
- Extendendo Módulos e Assinaturas
- Erros Comuns com Módulos
- Projetando Módulos
- Raramente exponha tipos concretos
- Projete para quem está chamando
- Crie interfaces uniformes
- Interface antes da implementação
- Functors
- Módulos de primeira-classe
- Construindo módulos de Primeira Classe
- Acessando módulos de primeira classe
- Você pode viver sem módulos de primeira classe
Intermezzo 4 - Testes
- Testes Unitários
- Testes Baseados em Propriedades
Parte 5 - Mais Tipos
- Pattern Matching
- Exception
- Tratando erros sem exceções
- Option
- Result
- Sequence
Intermezzo 5 - esy
- esy
Parte 6 - CRUD
- em breve
Apêndice 1 - OOP
- em breve
Apêndice 2 - FFI com C
- em breve
Made with 🐫💜
Contribuidores ✨
Nosso agradecimento a todas essas pessoas (emoji key):
Camilo Cunha de Azevedo 🖋 💻 🚧 🧑🏫 |
Eduardo Canellas de Oliveira 🖋 |
Vitor 🖋 |
Gabriel 🖋 |
Vinicius Leonardo 🖋 |
nogw 🖋 💻 |
Mateus Mendes 🎨 |
Caio Martins 👀 |
Arthur Monici 👀 |
Gabriel Schreiner 👀 |
Esse projeto segue a especificação do all-contributors. Contribuições de todos os tipos são bem-vindas!