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

Initialize vcs-base refactor #31

Merged
merged 4 commits into from
Oct 20, 2024
Merged

Initialize vcs-base refactor #31

merged 4 commits into from
Oct 20, 2024

Conversation

mbarbin
Copy link
Owner

@mbarbin mbarbin commented Oct 20, 2024

Initialize a multi-stages refactoring that will be ongoing in the repo for a while. More info in TODO.md.

The aim of this refactoring is to remove the base dependency of the Vcs library. To achieve this, we will offer two distinct libraries:

  • Vcs - a kernel library that can be used with very little dependencies;
  • Vcs_base - an extension of Vcs which will add some functionality related to working with Base.

Stages implemented in this PR

Stage 1 - Introducing Vcs_base

In this stage, we create the library Vcs_base and setup the way in which this library extends Vcs. It exposes the same modules, plus extra functionality, such as:

  • Base style hash signatures
  • Comparable.S signatures for use with Base style containers
  • Make some functions return sets instead of lists.

Stage 2 - Reducing ppx dependencies in Vcs

Only keep sexp related ppx that have no runtime dependency on base, such as sexplib0 only.

  • Remove ppx_compare, ppx_here, ppx_let dependencies.

@mbarbin mbarbin merged commit 4cbb832 into main Oct 20, 2024
5 checks passed
@mbarbin mbarbin deleted the init-base-refactor branch October 20, 2024 16:22
@mbarbin mbarbin added this to the Remove base dependencies milestone Oct 22, 2024
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.

1 participant