Реализация Reactive Extensions (Rx) на Swift для объединения асинхронных событий и потоков данных с помощью последовательностей Observable.
janestreet/incremental
Библиотека на OCaml для эффективного обновления вычислений при изменении входных данных, основанная на концепции самонастраивающихся вычислений.
- Звёзды
- 1,539
- Форки
- 76
- Открытые issues
- 0
- Последний коммит
- 4 дня назад
Что это?
Incremental позволяет строить сложные вычисления из входных данных и производных значений: при изменении входного значения пересчитываются только затронутые части. Библиотека основана на исследованиях самонастраивающихся вычислений Умута Акара и его коллег и разрабатывается Jane Street.
Типичный сценарий использования — граф вычислений, похожий на электронную таблицу: вы задаёте значения через другие значения, а библиотека поддерживает производные результаты в актуальном состоянии. Эта же модель подходит для GUI-представлений, которым нужно эффективно обрабатывать новые данные, а также для производных данных, например отфильтрованных или инвертированных отображений, которые должны оставаться согласованными с исходными.
Библиотека написана на OCaml, а её API описан в файле интерфейса incremental_intf.ml в репозитории.
Ключевые возможности
- 01Строит графы зависимостей, в которых при изменении входных данных пересчитываются только затронутые части.
- 02Автоматически поддерживает согласованность производных значений с исходными.
- 03Написана на OCaml; описание API находится в файле интерфейса.
Сценарии использования
- Построение вычислений по принципу электронных таблиц, эффективно реагирующих на изменение данных.
- Создание представлений в GUI-приложениях, которые обновляются по мере поступления новых данных.
- Поддержание производных данных, например отфильтрованных или инвертированных отображений, в актуальном состоянии относительно источника.
Быстрый старт
- 1
Установите библиотеку через opam
opam install incremental - 2
Чтобы использовать библиотеку в проекте на OCaml, прочитайте подробную документацию в incremental_intf.ml
Что важно знать
- Для использования требуются знания OCaml.
Темы
Частые вопросы
- Что такое incremental?
- Библиотека на OCaml для эффективного обновления вычислений при изменении входных данных, основанная на концепции самонастраивающихся вычислений. Incremental позволяет строить сложные вычисления из входных данных и производных значений: при изменении входного значения пересчитываются только затронутые части. Библиотека основана на исследованиях самонастраивающихся вычислений Умута Акара и его коллег и разрабатывается Jane Street.
- incremental можно использовать бесплатно? Какая у него лицензия?
- incremental распространяется с открытым исходным кодом под лицензией MIT. Перед использованием в коммерческих продуктах проверьте условия лицензии.
- incremental всё ещё поддерживается?
- Активно поддерживается. Последний коммит в incremental — 3 нояб. 2026 г..
- Для чего можно использовать incremental?
- Построение вычислений по принципу электронных таблиц, эффективно реагирующих на изменение данных. Создание представлений в GUI-приложениях, которые обновляются по мере поступления новых данных. Поддержание производных данных, например отфильтрованных или инвертированных отображений, в актуальном состоянии относительно источника.
- Как установить incremental?
- Установите библиотеку через opam: opam install incremental Чтобы использовать библиотеку в проекте на OCaml, прочитайте подробную документацию в incremental_intf.ml
- Где скачать incremental?
- Исходный код и инструкции по установке — на GitHub: https://github.com/janestreet/incremental
Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.
Похожие проекты
Компилятор Scala 2, стандартная библиотека и спецификация языка, а также рекомендации по внесению изменений в кодовую базу Scala 2.
Библиотека утилит для TypeScript с функциями для массивов, объектов и других типичных задач, поддерживающими вызов с данными до или после функции.
Ядро Haskell для Jupyter: позволяет запускать код на Haskell в ноутбуках, консоли и других интерфейсах Jupyter.
Библиотека утилит для JavaScript с функциональными помощниками вроде each, map, reduce и filter, не изменяющая встроенные объекты.
Lila — сервер на Scala, на котором работает lichess.org: бесплатная шахматная онлайн-платформа без рекламы с открытым исходным кодом.