Skip to content

Conversation

@GulinSS
Copy link
Contributor

@GulinSS GulinSS commented Mar 19, 2025

Core idea is to split the process of transition from List-based Scope on SnocList-based Scope on 2 phases:

  1. Apply a refactor which does not make any transition (even no observable changes for Idris users) actually but prepare the code for future update.
  2. Roll out the transition with limited code changes invasion because it was partially done at the step before.

@gallais
Copy link
Member

gallais commented Mar 24, 2025

Thanks for that.

FYI we (including at least @mjustus & me) are planning to do a big code review
on this PR on April 2nd with the hope it can quickly be merged afterwards.

@GulinSS
Copy link
Contributor Author

GulinSS commented Mar 25, 2025

@gallais much appreciate! 😇

@GulinSS
Copy link
Contributor Author

GulinSS commented Apr 3, 2025

@gallais, @mjustus shy reminder about the review and its importance! 🙏

We are going to make further steps of adding parts from Yaffle when this PR and its companion will succeed.

All this is a refactor which is important but these steps actually are preparations for something which can be added to the change log . And this step is scheduled to start the development after these 2 phases.

So, moving forward here is a corner stone to unlock further Idris improvements. All this is clear for invited people just it seemed important to explicitly emphasize at the message due of questions at Discord group.

@gallais
Copy link
Member

gallais commented Apr 3, 2025

We went through about a 3rd of the files. There a semantic issues (e.g. some lists of values being
made Scopeable even though they have nothing to do with Scopes) and we wanted to clarify some
things outside of the diff boundaries so started a fork of the fork.

@GulinSS
Copy link
Contributor Author

GulinSS commented Apr 11, 2025

@gallais any news would be very appreciate! We are in progress of porting other parts from Yaffle and pretty worried of possible changes 😅

It would be nice if you can put a link to PR/commits/branch/anything where we might participate during the review process. If it is needed of course.

@gallais
Copy link
Member

gallais commented Apr 11, 2025

Ping @mjustus

We haven't had the opportunity to have another meeting yet. And with
a conference happening this week it may not happen for another couple
of weeks either.

@GulinSS GulinSS force-pushed the scoped-snoc-list-preparing branch from f7bc725 to 3decb09 Compare April 15, 2025 08:22
@GulinSS
Copy link
Contributor Author

GulinSS commented Apr 16, 2025

@GulinSS GulinSS force-pushed the scoped-snoc-list-preparing branch 2 times, most recently from e5faef5 to 34ebbf0 Compare April 21, 2025 13:28
@gallais
Copy link
Member

gallais commented Apr 30, 2025

We met up today (thanks Justus for your hospitality!) and we've made good progress.
We have looked at about 75/103 files meaning we should be done by the end of our
next meeting in 2 weeks time.

@GulinSS GulinSS force-pushed the scoped-snoc-list-preparing branch from 34ebbf0 to c3a8909 Compare May 12, 2025 11:41
@mjustus
Copy link
Collaborator

mjustus commented May 14, 2025

I have pushed your current state to branch snoc-list-preparing-force-pushed on my copy of the repository and am about to revert this branch to f7bc725 because it was getting too difficult reviewing a moving target with large merge conflict.

@GulinSS
Copy link
Contributor Author

GulinSS commented May 24, 2025

Pinned for watching: GulinSS#19

@gallais
Copy link
Member

gallais commented May 28, 2025

Let's see if it builds

@GulinSS GulinSS force-pushed the scoped-snoc-list-preparing branch from 96ee709 to 7762df0 Compare May 28, 2025 14:16
Core idea is to split the process of transition from List-based Context on SnocList-based Context on 2 phases:

1. Apply a refactor which does not make any transition (even no observable changes for Idris users) actually but prepare the code for future update.
2. Roll out the transition with limited code changes invasion because it was partially done at the step before.

Co-authored-by: Viktor Yudov <me@spcfox.com>
@GulinSS
Copy link
Contributor Author

GulinSS commented May 28, 2025

A moment, rebase on main is in progress

mjustus added 2 commits May 28, 2025 18:08
…eview)

1. Reverted `Scopeables` that act like spines (e.g. `NTCon`) because we consider it to be a separate refactoring
2. Disambiguated overloaded `ScopeEmpty` (e.g. `Scope` and `Env`) using namespaces.
3. Identified and replaced instances of `All` quantifiers. Both `List` and `SnocList` enjoy all, which will make future changes easier.
4. Highlighted opportunities for rewrite-free implementations using fish-based (`<><`) sliding windows.
5. Left a bunch of `TODO`s for unrelated refactoring opportunities.
@GulinSS GulinSS force-pushed the scoped-snoc-list-preparing branch from 7762df0 to 8455d9d Compare May 28, 2025 15:11
@GulinSS
Copy link
Contributor Author

GulinSS commented May 29, 2025

Sounds like we can begin the merge. After that I will create appropriate issues with links to code (and may be file a new PR with TODO removal but not sure).

@gallais gallais merged commit 40dc731 into idris-lang:main May 29, 2025
22 checks passed
@GulinSS GulinSS deleted the scoped-snoc-list-preparing branch May 29, 2025 07:56
andrevidela pushed a commit to andrevidela/Idris2 that referenced this pull request Jun 25, 2025
…dris-lang#3512)

Co-authored-by: Viktor Yudov <me@spcfox.com>
Co-authored-by: Justus Matthiesen <mail@justusmatthiesen.com>
spcfox added a commit to spcfox/Idris2 that referenced this pull request Aug 5, 2025
…dris-lang#3512)

Co-authored-by: Viktor Yudov <me@spcfox.com>
Co-authored-by: Justus Matthiesen <mail@justusmatthiesen.com>
spcfox added a commit to spcfox/Idris2 that referenced this pull request Nov 4, 2025
spcfox added a commit to spcfox/Idris2 that referenced this pull request Nov 18, 2025
spcfox added a commit to spcfox/Idris2 that referenced this pull request Nov 18, 2025
spcfox added a commit to spcfox/Idris2 that referenced this pull request Nov 18, 2025
gallais added a commit that referenced this pull request Nov 25, 2025
* [ cleanup ] Remove redudant `SnocList` import from #3512

* [ cleanup ] Remove redundant imports

* [ cleanup ] Add public imports

* [ cleanup ] Small cleanup pretty printers

* [ fix ] Remove `%inline` from `sequence`

* [ fix ] missing import

---------

Co-authored-by: G. Allais <guillaume.allais@ens-lyon.org>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants