Skip to content

Commit 98935fa

Browse files
cristianocclaude
andcommitted
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>
1 parent f3906e5 commit 98935fa

1 file changed

Lines changed: 11 additions & 5 deletions

File tree

markdown-pages/blog/reactive-analysis.mdx

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
---
22
author: rescript-team
3-
date: "2025-12-28"
3+
date: "2026-02-16"
44
title: "Real-Time Analysis is Coming to ReScript"
55
badge: roadmap
66
description: |
@@ -9,15 +9,15 @@ description: |
99

1010
## Introduction
1111

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.
1313

1414
This is what we're bringing to ReScript.
1515

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.
1717

1818
## Why This Matters
1919

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.
2121

2222
Batch analysis has an awkward tradeoff:
2323

@@ -30,7 +30,7 @@ What developers actually want is _continuous_ feedback that keeps up with their
3030

3131
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.
3232

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.
3434

3535
### A Concrete Update Flow
3636

@@ -95,6 +95,12 @@ The reactive primitives are general-purpose. The same infrastructure that powers
9595
- Reference counting and hotspot identification
9696
- Custom project-specific checks
9797

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+
98104
## The Road Ahead
99105

100106
This is the beginning of a larger shift. The same reactive foundation will extend to other parts of the editor experience:

0 commit comments

Comments
 (0)