You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Emphasize project-wide scope, add agentic coding section, update date
Address review feedback: highlight that dead code detection is project-wide
(not just current-file like ESLint), add section on agentic coding benefits,
and update the post date.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Copy file name to clipboardExpand all lines: markdown-pages/blog/reactive-analysis.mdx
+11-5Lines changed: 11 additions & 5 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,6 +1,6 @@
1
1
---
2
2
author: rescript-team
3
-
date: "2025-12-28"
3
+
date: "2026-02-16"
4
4
title: "Real-Time Analysis is Coming to ReScript"
5
5
badge: roadmap
6
6
description: |
@@ -9,15 +9,15 @@ description: |
9
9
10
10
## Introduction
11
11
12
-
Imagine editing a ReScript file and seeing dead code warnings update almost immediately as you work. No waiting for a full re-analysis command. Just continuous feedback about which parts of your code are actually used.
12
+
Imagine editing a ReScript file and seeing **project-wide**dead code warnings update almost immediately as you work. No waiting for a full re-analysis command. Just continuous feedback about which parts of your project are actually used.
13
13
14
14
This is what we're bringing to ReScript.
15
15
16
-
The static analyzer that powers dead code detection is being rebuilt on a **reactive foundation**. When you add a reference to a function, the "unused" warning vanishes quickly. When you remove the last use of a module, the dead code warning appears right away. The analysis stays in sync with your code, updating in real time.
16
+
The static analyzer that powers dead code detection is being rebuilt on a **reactive foundation**. When you add a reference to a function in one file, the "unused" warning on its declaration in another file vanishes quickly. When you remove the last use of a module anywhere in the project, the dead code warning appears right away. The analysis stays in sync with your code, updating in real time.
17
17
18
18
## Why This Matters
19
19
20
-
Traditional static analyzers work in batch mode: gather all files, analyze everything, report results. This works fine when you run analysis as a CI check or a manual command. But it's not what you want when you're actively editing code.
20
+
Most tools that flag dead code—like ESLint or similar linters—only look at the _current file_. They can tell you about an unused local variable, but they can't tell you that a function exported from one module is never imported anywhere in the project. True project-wide dead code detection requires analyzing the entire codebase, and traditional analyzers do this in batch mode: gather all files, analyze everything, report results. This works fine as a CI check or a manual command. But it's not what you want when you're actively editing code.
21
21
22
22
Batch analysis has an awkward tradeoff:
23
23
@@ -30,7 +30,7 @@ What developers actually want is _continuous_ feedback that keeps up with their
30
30
31
31
Instead of re-analyzing your entire project on every change, the reactive analyzer represents the analysis as a **computation graph**. Each piece of data—declarations, references, liveness information—flows through this graph. When a file changes, only the affected parts of the graph recompute.
32
32
33
-
The result: analysis that completes in milliseconds for typical edits, even in large codebases.
33
+
The result: analysis that completes almost instantly for typical edits, even in large codebases.
34
34
35
35
### A Concrete Update Flow
36
36
@@ -95,6 +95,12 @@ The reactive primitives are general-purpose. The same infrastructure that powers
95
95
- Reference counting and hotspot identification
96
96
- Custom project-specific checks
97
97
98
+
## A Natural Fit for Agentic Coding
99
+
100
+
Reactive analysis is particularly powerful in agentic coding workflows. AI coding agents work best with fast feedback: make a change, observe the result, iterate. An agent tasked with cleaning up a codebase can remove a function, immediately see whether new dead code warnings appear (because something else depended on it), and adjust—all without waiting for a full analysis pass.
101
+
102
+
As agentic coding becomes a bigger part of development workflows, tooling that provides continuous, whole-project feedback becomes essential infrastructure.
103
+
98
104
## The Road Ahead
99
105
100
106
This is the beginning of a larger shift. The same reactive foundation will extend to other parts of the editor experience:
0 commit comments