diff options
| author | Ben Sima <ben@bsima.me> | 2025-11-14 20:02:57 -0500 |
|---|---|---|
| committer | Ben Sima <ben@bsima.me> | 2025-11-14 20:02:57 -0500 |
| commit | 05e9c79a6a7b8f13835398342b6f2d26417da946 (patch) | |
| tree | a9a86f1a142d4c4057815ce5d253ad9566d02525 /Biz/EmailAgent.py | |
| parent | 6c70d27dac7335fcc56ade271ab84ed5a57c16a1 (diff) | |
Add per-module Haskell build foundation
Implements Steps 1-4 of per-module Nix architecture: - Add
HsModuleGraph and HsModuleNode types to represent module DAG -
Implement buildHsModuleGraph that:
- Parses imports for each module in the transitive closure -
Detects Template Haskell usage (language pragma or $( patterns) -
Detects import cycles using SCC analysis - Returns Nothing (fallback
to monolithic) if TH or cycles found
- Wire hsGraph into Target type for all builders - Populate hsGraph
for Haskell targets during analysis
Module graph is now emitted in --plan output showing per-module
dependencies. This enables the next step: per-module Nix derivations
in Builder.nix for true incremental builds.
Part of Phase 3 from the performance plan.
Diffstat (limited to 'Biz/EmailAgent.py')
0 files changed, 0 insertions, 0 deletions
