Skip to content

✨ Add imports functionality#258

Draft
LesterEvSe wants to merge 1 commit intomasterfrom
dev/imports
Draft

✨ Add imports functionality#258
LesterEvSe wants to merge 1 commit intomasterfrom
dev/imports

Conversation

@LesterEvSe
Copy link
Copy Markdown
Collaborator

Motivation

The main goal of this PR is to enable an analogue of the OpenZeppelin library to exist in the SimplicityHL ecosystem. By introducing official compiler support for imports, we significantly increase code reusability and speed up application development. For projects heavily focused on security, this also allows developers to eventually "flatten" the code and audit all functions without external dependencies.

Checklist

  • Visibility: Added pub and pub use to control local scope versus re-exporting.
  • Import Syntax: Implemented parsing and resolution for use m::name; and explicit aliasing (as).
  • Collision Handling: Enforced strict errors for local scope collisions, utilizing C3 linearization for resolving re-export conflicts.
  • Transitive Dependencies: Add support for libraries importing other libraries.
  • Documentation: Сode comments are updated accordingly.
  • Quality Assurance: Code is formatted, all tests pass, and CI shows no errors.

@LesterEvSe LesterEvSe requested a review from delta1 as a code owner March 27, 2026 16:30
@LesterEvSe LesterEvSe added the enhancement New feature or request label Mar 27, 2026
@LesterEvSe LesterEvSe marked this pull request as draft March 27, 2026 16:30
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants