Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Ensure that non renderer systems compile on CL implementations #2662

Closed
aadcg opened this issue Nov 23, 2022 · 11 comments
Closed

Ensure that non renderer systems compile on CL implementations #2662

aadcg opened this issue Nov 23, 2022 · 11 comments
Labels
low test Testing and benchmarking.

Comments

@aadcg
Copy link
Member

aadcg commented Nov 23, 2022

All of our non-renderer specific code should be portable across CL implementions.

Systems include:

  • nyxt
  • external libraries such as prompter

The implementations we should test with include (besides SBCL):

  • CCL
  • AllegroCL
  • Clisp
  • ECL
  • ABCL
@aadcg aadcg added test Testing and benchmarking. 3-series Related to releases whose major version is 3. labels Nov 23, 2022
@Ambrevar
Copy link
Member

Actually both nyxt/prompter and nyxt/history-tree should be extracted before 3.0 ;)

@aadcg
Copy link
Member Author

aadcg commented Nov 24, 2022

Totally agree. prompter only after #2655.

@Ambrevar
Copy link
Member

Ambrevar commented Nov 24, 2022

@aadcg
Copy link
Member Author

aadcg commented Nov 24, 2022

There are only 2 issues that are both labelled as 3.0 and prompt buffer. The remaining prompt buffer issues should be moved to its new github repository.

atlas-engineer/prompter#29 #2134

@Ambrevar
Copy link
Member

Yup, #2134 is very important and requires the major refactoring of switching from calispel to lparallel.

In any case, all these issues can be done after the move to a separate repo, it's mostly that it'll be easier to close as many as possible now and not later, to avoid having to bump versions (Guix update, submodule update, etc.).

@aadcg
Copy link
Member Author

aadcg commented Dec 2, 2022

Yes, that particular issue is perhaps the most important one.

Also, perhaps not all of these prompt buffer issues are related to the library itself, but to prompt buffer and prompt buffer mode in the context of the nyxt system.

@Ambrevar
Copy link
Member

Absolutely.

@aadcg aadcg removed the 3-series Related to releases whose major version is 3. label May 31, 2023
@aadcg
Copy link
Member Author

aadcg commented May 31, 2023

This is an important goal, but it seems overkill to test every commit on all CL implementations. For each commit we test on SBCL and CCL (via the GitHub CI), which is already quite good.

Maybe testing on more CL implementation should be a practice done exclusively before releasing major versions.

@Ambrevar
Copy link
Member

Ambrevar commented May 31, 2023

By the way prompter has been extracted, it will soon build on all Lisps and #2134 is in the process of being fixed.

@aartaka
Copy link
Contributor

aartaka commented May 31, 2023

This is an important goal, but it seems overkill to test every commit on all CL implementations. For each commit we test on SBCL and CCL (via the GitHub CI), which is already quite good.

Maybe testing on more CL implementation should be a practice done exclusively before releasing major versions.

Not sure. Testing on every implementation ensures we're really portable and makes type, performance, and environment preconceptions much more explicit.

And then, GitHub CI is free for open-source projects (which is a shaky ground to stand on—GitHub as a commercial entity can always break things and make them paid under our feet), so why not? :D

@aadcg aadcg added the low label Jun 1, 2023
@aadcg
Copy link
Member Author

aadcg commented Dec 14, 2023

This may be important at a later stage, when Nyxt reaches a more mature stage.

In the near future, it is unlikely that Nyxt will be distributed with a CL implementation that isn't SBCL. We already test on CCL (which seems to have a stronger typing discipline) and that seems reasonable.

The starting point to achieve this goal would be to target the CL libraries developed by @atlas-engineer/atlas.

@aadcg aadcg closed this as completed Dec 14, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
low test Testing and benchmarking.
Development

No branches or pull requests

3 participants