Implementação de Reactive Extensions (Rx) em Swift para compor eventos assíncronos e fluxos de dados com sequências Observable.
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
Instale a biblioteca via opam
opam install incremental - 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
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
O compilador, a biblioteca padrão e a especificação da linguagem Scala 2, com orientações para contribuir com a base de código.
Biblioteca de utilitários para TypeScript com funções data-first e data-last para arrays, objetos e outras operações comuns.
Um kernel Haskell para Jupyter que permite executar código Haskell em notebooks, no console e em outras interfaces.
Uma biblioteca de utilitários para JavaScript com funções auxiliares como each, map, reduce e filter, sem estender objetos nativos.
Lila, o servidor em Scala por trás do lichess.org, uma plataforma de xadrez online gratuita, sem anúncios e de código aberto.