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

Think about package ecosystem #259

Open
moodymudskipper opened this issue Nov 21, 2023 · 0 comments
Open

Think about package ecosystem #259

moodymudskipper opened this issue Nov 21, 2023 · 0 comments
Milestone

Comments

@moodymudskipper
Copy link
Collaborator

moodymudskipper commented Nov 21, 2023

Since :

  • we're probably not going to convince every class owner to build their own constructors
  • extending for every class in this repo is a bit messy, ggplot2 takes already too much room
  • An ecosystem means separate issue trackers/options for watchers, better structured code, better structured tests, potentially different maintainers, separate news and versions...
  • We can more systematically make sure a specific package maintains constructors for all classes of the package

We have 3 parts in this package :

  • the bare bones : exported functions and helpers, generics
  • the extension helpers, start with ".cstr" not to bug users
  • methods and opts_ functions

I think a first step would be to have {constructive.tools} and {constructive.methods}.

  • {constructive.tools} for bare bones and extension helpers
  • {constructive.methods} for all methods and opts_ functions
  • {constructive} imports both, and re-exports {constructive.tools} functions, except extension helpers (minor breaking change)

Then we can move some methods from {constructive.methods} to other packages like {constructive.base}, {constructive.ggplot2} or {constructive.tidyverse}, and either {constructive.methods} or {constructive} imports them and reexports opts_ functions.

@moodymudskipper moodymudskipper added this to the backlog milestone Apr 30, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Development

No branches or pull requests

1 participant