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

Code hierarchy cleanup #137

Open
MilesCranmer opened this issue Oct 5, 2022 · 1 comment
Open

Code hierarchy cleanup #137

MilesCranmer opened this issue Oct 5, 2022 · 1 comment

Comments

@MilesCranmer
Copy link
Owner

MilesCranmer commented Oct 5, 2022

Right now the code dependency graph is pretty complex:

image

(You can see instructions on the README for generating this)

I think this complexity can be greatly reduced, with the dependencies made more hierarchical. Core.jl is one such example.

For example, I think the following files can be grouped, and made into combined modules:

  1. EquationUtils.jl, EvaluateEquation.jl, EvaluateEquationDerivative.jl, SimplifyEquation.jl, and InterfaceSymbolicUtils.jl
  2. HallOfFame.jl, Population.jl, and PopMember.jl
  3. Mutate.jl and MutationFunctions.jl
  4. RegularizedEvolution.jl and SingleIteration.jl

The tricky part will be ensuring that there is still a clear hierarchy. I think the above order is correct, in that i should not depend on i+1, but we might need to move functions around so that the dependency structure is still satisfied.

If anybody is interested in working on this, let me know.

@MilesCranmer
Copy link
Owner Author

  1. Is currently being grouped into its own module here: https://github.com/SymbolicML/DynamicExpressions.jl.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant