Repolode
janestreet

janestreet/incremental

Una biblioteca de OCaml para crear cálculos que se actualizan eficientemente cuando cambian sus entradas, basada en la computación autoajustable.

Estrellas
1,539
Forks
76
Issues abiertos
0
Último commit
hace 4 días

¿Qué es?

Incremental permite crear cálculos complejos a partir de entradas y valores derivados, de modo que, cuando cambia una entrada, solo se vuelven a calcular las partes afectadas. Se basa en la investigación sobre computación autoajustable de Umut Acar y sus colegas, y Jane Street se encarga de su desarrollo.

El uso habitual consiste en crear un grafo de cálculos similar al de una hoja de cálculo: defines valores en función de otros valores y la biblioteca mantiene los resultados derivados sincronizados con sus fuentes. El mismo modelo sirve para vistas de interfaces gráficas que necesitan incorporar datos nuevos eficientemente, así como para datos derivados —por ejemplo, mapas filtrados o invertidos— que deben mantenerse coherentes con la fuente.

La biblioteca está escrita en OCaml y su API está documentada en el archivo de interfaz incremental_intf.ml del repositorio.

Funciones clave

  • 01Crea grafos de dependencias en los que los cambios en las entradas solo activan el recálculo de las partes afectadas.
  • 02Mantiene automáticamente los valores derivados coherentes con sus fuentes.
  • 03Está escrita en OCaml y su API está documentada en el archivo de interfaz.

Casos de uso

  • Crear cálculos similares a los de una hoja de cálculo que reaccionen eficientemente a los cambios en los datos.
  • Construir vistas en aplicaciones con interfaz gráfica que incorporen datos nuevos de forma incremental.
  • Mantener datos derivados, como mapas filtrados o invertidos, sincronizados con su fuente.

Inicio rápido

  1. 1

    Instala la biblioteca con opam

    opam install incremental
  2. 2

    Lee la documentación detallada de incremental_intf.ml para usar la biblioteca en tu proyecto de OCaml

Antes de usarlo

  • Se requieren conocimientos de OCaml para usarla.

Temas

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

Preguntas frecuentes

¿Qué es incremental?
Una biblioteca de OCaml para crear cálculos que se actualizan eficientemente cuando cambian sus entradas, basada en la computación autoajustable. Incremental permite crear cálculos complejos a partir de entradas y valores derivados, de modo que, cuando cambia una entrada, solo se vuelven a calcular las partes afectadas. Se basa en la investigación sobre computación autoajustable de Umut Acar y sus colegas, y Jane Street se encarga de su desarrollo.
¿incremental es gratuito? ¿Qué licencia tiene?
incremental es open source bajo la licencia MIT. Revisa los términos de la licencia antes de usarlo en productos comerciales.
¿incremental sigue mantenido?
Mantenimiento activo. El último commit de incremental fue el 3 nov 2026.
¿Para qué puedo usar incremental?
Crear cálculos similares a los de una hoja de cálculo que reaccionen eficientemente a los cambios en los datos. Construir vistas en aplicaciones con interfaz gráfica que incorporen datos nuevos de forma incremental. Mantener datos derivados, como mapas filtrados o invertidos, sincronizados con su fuente.
¿Cómo se instala incremental?
Instala la biblioteca con opam: opam install incremental Lee la documentación detallada de incremental_intf.ml para usar la biblioteca en tu proyecto de OCaml
¿Dónde consigo incremental?
El código fuente y las instrucciones de instalación están en GitHub: https://github.com/janestreet/incremental

Resumen generado por IA a partir del README del proyecto. Las estadísticas de GitHub se actualizan a diario.

Proyectos relacionados