Skip to content

module style 3: Standalone change on top of the module resolver pr that introduces the needed changes to read module style inputs, but not tiered constant generation - #332

Merged
prozacchiwawa merged 68 commits into
mainfrom
20260202-better-test-result
Apr 15, 2026
Merged

prozacchiwawa merged 68 commits into
mainfrom
20260202-better-test-result

Conversation

@prozacchiwawa

@prozacchiwawa prozacchiwawa commented Feb 2, 2026 •

Copy link
Copy Markdown
Contributor

Note

Medium Risk
Touches core compilation/preprocessing flows and changes compiler return types, with new on-disk artifact generation for modules; regressions could affect compilation outputs and dependency tracking across many call sites.

Overview
Adds module-style chialisp compilation alongside existing program compilation. The compiler/frontend now detect module inputs, parse export/import forms, build a dependency graph to identify standalone exported constants, and emit a CompilerOutput::Module containing per-export components plus generated *_hash values.

Extends the preprocessor to support import-based module resolution (including relative module names), compile-file embedding (IncludeProcessType::Compiled), and richer include tracking; CompilerOpts gains file I/O hooks (set_filename, write_new_file, get_file_mod_date) and compilation APIs now return CompilerOutput instead of raw SExp, with call sites updated accordingly.

Adds a large set of new resources/tests/module/* fixtures and stdlib .clinc modules to exercise module imports/exports and hashing behavior, and updates run_coverage.py to pass through extra cargo test args.

Reviewed by Cursor Bugbot for commit bc26e74. Bugbot is set up for automated code reviews on this repo. Configure here.

@prozacchiwawa prozacchiwawa changed the title 20260202 better test result Standalone change on top of the module resolver pr that introduces the needed changes to read module style inputs, but not tiered constant generation Feb 2, 2026
@prozacchiwawa prozacchiwawa changed the title Standalone change on top of the module resolver pr that introduces the needed changes to read module style inputs, but not tiered constant generation module style 3: Standalone change on top of the module resolver pr that introduces the needed changes to read module style inputs, but not tiered constant generation Feb 13, 2026
Comment thread src/compiler/frontend.rs
Comment thread src/compiler/preprocessor/mod.rs Outdated
Comment thread src/compiler/frontend.rs
Comment thread src/compiler/preprocessor/mod.rs
Comment thread src/classic/clvm_tools/clvmc.rs Outdated
…odule style output since it writes its own hex files
Comment thread src/classic/clvm_tools/comp_input.rs Outdated

@cursor cursor Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cursor Bugbot has reviewed your changes and found 1 potential issue.

Fix All in Cursor

Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.

Comment thread src/compiler/compiler.rs
Base automatically changed from 20260122-start-resolve to main April 15, 2026 20:06
@prozacchiwawa
prozacchiwawa merged commit 5eb39ec into main Apr 15, 2026
35 checks passed
@prozacchiwawa
prozacchiwawa deleted the 20260202-better-test-result branch April 15, 2026 23:04
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants