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

Re-level dependency tiers #135

Open
joshsh opened this issue Aug 13, 2024 · 0 comments
Open

Re-level dependency tiers #135

joshsh opened this issue Aug 13, 2024 · 0 comments
Labels
enhancement New feature or request

Comments

@joshsh
Copy link
Collaborator

joshsh commented Aug 13, 2024

Currently, we have a system of 6 dependency tiers within the Hydra code base, as described here: tier-0 for kernel type definitions and selected constants, tiers 1 through 3 for other kernel code, tier-4 for tests and language modules, and tier-5 for third-party code. This layer cake is a little too thick IMO, and could probably be compressed. In particular, tier-3 is almost empty and could probably be combined with tier-2. Also, I don't think there is much value in distinguishing the built-in language modules from third-party code in terms of dependencies. Finally, it is a little odd that Hydra Core isn't properly in any tier, including tier-0. Here is the plan going forward:

  • tier-0: Hydra Core + independent primitive functions
  • tier-1: kernel type definitions + selected constants + selected logic and primitive functions which depend on tier-0
  • tier-2: kernel logic and primitive functions which depend on tier-1
  • tier-3: kernel logic and primitive functions which depend on tier-2
  • tier-4: everything outside of the Hydra kernel

Tier-4 isn't so much a single tier as an "everything else" bucket, regardless of dependency structure.

@joshsh joshsh added the enhancement New feature or request label Aug 13, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Development

No branches or pull requests

1 participant