Implementación de Reactive Extensions (Rx) en Swift para componer eventos asíncronos y flujos de datos mediante secuencias Observable.
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
Instala la biblioteca con opam
opam install incremental - 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
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
El compilador, la biblioteca estándar y la especificación del lenguaje de Scala 2, con pautas para contribuir a su base de código.
Biblioteca de utilidades para TypeScript con funciones data-first y data-last para arrays, objetos y otras operaciones comunes.
Un kernel de Haskell para Jupyter que permite ejecutar código Haskell en notebooks, la consola y otros frontends de Jupyter.
Una biblioteca de utilidades para JavaScript con funciones auxiliares como each, map, reduce y filter, sin extender los objetos integrados.
Lila, el servidor de Scala detrás de lichess.org, una plataforma de ajedrez en línea gratuita, sin anuncios y de código abierto.