금융회사 Jane Street가 만든 Incremental은 '변하지 않은 값은 다시 계산하지 않는다'는 발상을 라이브러리로 구현한 OCaml 프로젝트입니다. 스프레드시트를 떠올리면 쉽습니다. 셀 하나를 바꾸면 그 셀에 의존하는 값만 자동으로 갱신되죠. Incremental은 이 원리를 일반 코드에 적용합니다. 입력값들을 노드로 묶어 의존성 그래프(DAG)를 만들고, 어떤 입력이 바뀌면 영향을 받는 계산만 골라 다시 돌립니다. 전체를 처음부터 재계산하는 것보다 훨씬 빠릅니다. 실시간 트레이딩처럼 데이터가 초당 수없이 갱신되지만 결과의 극히 일부만 바뀌는 환경에서 위력을 발휘하며, 실제로 Jane Street의 웹 UI 프레임워크 Bonsai의 핵심 엔진이기도 합니다. 프론트엔드의 가상 DOM diffing, 빌드 시스템의 증분 컴파일과 같은 맥락의 아이디어로, 대규모 파생 상태를 다루는 개발자라면 '증분 계산'이라는 사고방식 자체를 배워둘 가치가 있습니다.