Skip to content

Conversation

@spcfox
Copy link
Contributor

@spcfox spcfox commented Nov 18, 2025

Description

  1. Redundant imports have been removed, and some have been replaced with more specific ones (e.g. Core.UnifyCore.UnifyState). I did not change public imports because it would affect idris2api.

    Many SnocList imports were introduced in [ refactor ] ScopedSnocList: Preparing for the long jump (Phase 1) #3512 but are only used in [ refactor ] ScopedSnocList: Swap Scope on SnocList (Phase 2)  #3513. To simplify conflict resolution, I have moved them into a separate commit.

    Some public imports are not entirely clear in intent, so it may be worth reviewing them. For example:

    import public Core.Context
    import public Core.Context.Log
    import public Core.Core
    import public Core.FC
    import public Core.Normalise
    import public Core.Options
    import public Core.TT

    In any case, this is easier to address once unnecessary imports are removed, as missing dependencies will surface as errors.

  2. Added public imports for modules that are always used together.

  3. Minor cleanup of PPrint.

  4. Removed %inline and rewrote Core.sequence. When inlined, it expands into a very large expression. The only reason why this wasn't discovered earlier is that this function isn't used. I didn't remove it because it will be useful when writing monadic code.

Self-check

I think cleaning up imports does not need to be added to the changelog.

  • This is my first time contributing, I've carefully read CONTRIBUTING.md
    and I've updated CONTRIBUTORS.md with my name.
  • If this is a fix, user-facing change, a compiler change, or a new paper
    implementation, I have updated CHANGELOG_NEXT.md

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants