Awesome OCaml Packages
# Gerenciamento de Pacotes e Ferramentas de Build
# Opam - Gerenciador de Pacotes OCaml.Dune - Sistema de build para OCaml.esy - Gerenciador de Pacotes para ReasonML e OCaml que faz mimese ao workflow do NPM.Ambiente de Desenvolvimento
# utop - REPL melhorado para OCaml com suporte a histórico, autocompletar e mais.ocaml-lsp - Servidor de Protocolo de Linguagem OCaml (LSP).Merlin - Assistente de contexto de OCaml para VIM/Emacs.tuareg - Modo OCaml para Emacs.ocaml.nvim - Ferramentas OCaml para Neovim.Programação Paralela e Concorrente
# Eio - Bibliota para programação concorrente baseada em Efeitos. OCaml 5.1+
Lwt - Biblioteca de programação concorrente baseada em promises/futures.Async - Biblioteca para programação assíncrona. Jane Street
Frameworks e Bibliotecas Web
# Dream - Framework web fullstack para OCaml.Opium - Framework Web Sinatra-like para OCaml.Cohttp - Biblioteca HTTP para OCaml.Piaf - Cliente HTTP/1.X e HTTP/2 totalmente assíncrono para OCaml. OCaml 5.1+
Desenvolvimento Frontend
# Melange - Backend para o compilador OCaml que emite JavaScript legível e eficiente.js_of_ocaml - Compilador de OCaml para JavaScript.jsoo-react - Bindings ReactJS para js_of_ocaml.mlx - Biblioteca para uso de JSX em OCaml, compatível com React e Melange.Bonsai - Biblioteca para criar interfaces de usuário web reativas. Jane Street
Incr_dom - Biblioteca para construir aplicações web dinâmicas usando OCaml. Jane Street
Menhir - Gerador de parser LR(1) para OCaml.ocaml-re - Biblioteca de expressões regulares para OCaml.Angstrom - Parser combinators.ppxlib - Biblioteca base para extensões de sintaxe em OCaml (PPX).Parsexp - Parsing de S-expressions. Jane Street
Extensões de Sintaxe (PPX)
# ppx_deriving - Derivação automática de implementações de tipos e funções.ppx_let - Sintaxe sugar para monads em OCaml. Jane Street
ppx_import - Importação de assinaturas de módulos.ppx_sexp_conv - Conversão de valores OCaml de/para S-expressions. Jane Street
ppx_fields_conv - Acesso e iteração sobre campos de registros. Jane Street
ppx_custom_printf - Formatação de strings com sintaxe estendida. Jane Street
Ppx_jane - Coleção de extensões de sintaxe ppx comumente usadas. Jane Street
ctypes - Bindings para C.pyml - Bindings para Python.Testes e Qualidade de Código
# Alcotest - Framework de testes de unidade leve com suporte a cores.OUnit - Framework de teste de unidade XUnit para OCaml.QCheck - Biblioteca de testes baseados em propriedades para OCaml.Yojson - Codificação e decodificação JSON para OCaml.Sexplib - Serialização e desserialização de S-expressions. Jane Street
Bin_prot - Serialização binária rápida. Jane Street
Análise Estática e Documentação
# OCamlFormat - Formatador de código automático para OCaml.fmt - Formatação de Código OCaml.odoc - Documentação de código.Matemática e Computação Científica
# Owl - Biblioteca de computação científica e numérica para OCaml.ocamlgraph - Biblioteca para gerar imagens de Grafos com OCaml, baseado em Graphviz e formato DOT.ocaml-jupyter - Kernel de OCaml para Jupyter Notebooks.Interface Gráfica e Linha de Comando
# cmdliner - Biblioteca para criar aplicações de linha de comando.LablGtk - Interface OCaml para GTK 2 e 3 (bindings).LablTk - Interface OCaml para GUI TCL/Tk.lablqml - Interface com Qt/QML para OCaml.Bancos de Dados e Armazenamento
# Caqti - Abstração para acesso a bancos de dados relacionais (MariaDB, PostgreSQL, SQLite3).sqlite3 - Bindings OCaml para SQLite3.ocaml-redis - Bindings Redis para OCaml.Irmin - Banco de dados distribuído que segue os princípios do Git.Criptografia e Segurança
# Mirage-crypto - Biblioteca de criptografia usada no MirageOS.ocaml-tls - Implementação TLS em OCaml puro.eqaf : Função de igualdade constante, tem como objetivo evitar time attacks, onde um atacante tenta medir o tempo de execução para aprender sobre os conteúdos dos operandos.Processamento de Dados e Texto
# csvtool - Biblioteca e ferramenta de linha de comando para manipulação de arquivos CSV.Textutils - Ferramentas de texto e formatação. Jane Street
Sistemas Operacionais e Arquivos
# BOS - Biblioteca para interação com o Sistema Operacional (incluindo manipulação de arquivos) via OCaml.Bibliotecas Base e Utilitários
# Core - Biblioteca alternativa à biblioteca padrão do OCaml. Jane Street
Base - Biblioteca base completa para OCaml. Jane Street
Incremental - Biblioteca para computações incrementais. Jane Street
Fieldslib - Sintaxe e funções para trabalhar com campos de registros. Jane Street
Typerep - Representações de tipos em tempo de execução. Jane Street