Repolode
janestreet

janestreet/incremental

Uma biblioteca OCaml para criar cálculos que se atualizam com eficiência quando suas entradas mudam, baseada em computação autoajustável.

Estrelas
1,538
Forks
76
Issues abertas
0
Último commit
há 3 dias

O que é?

Incremental permite criar cálculos complexos a partir de entradas e valores derivados, de modo que, quando uma entrada muda, apenas as partes afetadas são recalculadas. A biblioteca se baseia nas pesquisas sobre computação autoajustável de Umut Acar e colaboradores e é desenvolvida pela Jane Street.

O uso típico é criar um grafo de cálculos semelhante a uma planilha: você define valores com base em outros valores, e a biblioteca mantém os resultados derivados sincronizados com suas fontes. O mesmo modelo serve para views de GUI que precisam incorporar novos dados com eficiência e para dados derivados, como mapeamentos filtrados ou invertidos, que devem permanecer consistentes com a fonte.

A biblioteca é escrita em OCaml, e sua API está documentada no arquivo de interface incremental_intf.ml no repositório.

Recursos principais

  • 01Cria grafos de dependências em que entradas alteradas acionam o recálculo apenas das partes afetadas.
  • 02Mantém automaticamente os valores derivados consistentes com suas fontes.
  • 03Escrita em OCaml, com a API documentada no arquivo de interface.

Casos de uso

  • Criar cálculos no estilo de planilha que reajam com eficiência a mudanças nos dados.
  • Construir views em aplicações GUI que incorporem novos dados incrementalmente.
  • Manter dados derivados, como mapeamentos filtrados ou invertidos, sincronizados com sua fonte.

Início rápido

  1. 1

    Instale a biblioteca via opam

    opam install incremental
  2. 2

    Leia a documentação detalhada em incremental_intf.ml para usar a biblioteca no seu projeto OCaml

Antes de usar

  • É necessário ter conhecimentos de OCaml para usá-la.

Tópicos

#ocaml#incremental-computation#self-adjusting-computation#functional-programming#reactive

Perguntas frequentes

O que é incremental?
Uma biblioteca OCaml para criar cálculos que se atualizam com eficiência quando suas entradas mudam, baseada em computação autoajustável. Incremental permite criar cálculos complexos a partir de entradas e valores derivados, de modo que, quando uma entrada muda, apenas as partes afetadas são recalculadas. A biblioteca se baseia nas pesquisas sobre computação autoajustável de Umut Acar e colaboradores e é desenvolvida pela Jane Street.
incremental é gratuito? Qual é a licença?
incremental é open source sob a licença MIT. Confira os termos da licença antes de usá-lo em produtos comerciais.
incremental ainda é mantido?
Manutenção ativa. O último commit de incremental foi em 3 de nov. de 2026.
Para que posso usar incremental?
Criar cálculos no estilo de planilha que reajam com eficiência a mudanças nos dados. Construir views em aplicações GUI que incorporem novos dados incrementalmente. Manter dados derivados, como mapeamentos filtrados ou invertidos, sincronizados com sua fonte.
Como instalar incremental?
Instale a biblioteca via opam: opam install incremental Leia a documentação detalhada em incremental_intf.ml para usar a biblioteca no seu projeto OCaml
Onde consigo incremental?
O código-fonte e as instruções de instalação estão no GitHub: https://github.com/janestreet/incremental

Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.

Projetos relacionados