This PR defines pkl:AbstractSettings as a common parent module for pkl:settings and pkl:Project.
Since user-level evaluator settings should be limited to user/machine specific ones (to avoid unnecessary "works on my machine"), whereas PklProjects might want to set more detailed settings.
There isn't an overwhelming win from making pkl:AbstractSettings a super-module, other than evaluatorSettings (and possibly other properties in the future) being defined in all children by default. Alternatively, pkl:AbstractSettings could define all classes that might be used somewhere, and it just being imported, i.e.
This PR defines
pkl:AbstractSettings
as a common parent module forpkl:settings
andpkl:Project
.Since user-level evaluator settings should be limited to user/machine specific ones (to avoid unnecessary "works on my machine"), whereas
PklProject
s might want to set more detailed settings.There isn't an overwhelming win from making
pkl:AbstractSettings
a super-module, other thanevaluatorSettings
(and possibly other properties in the future) being defined in all children by default. Alternatively,pkl:AbstractSettings
could define allclass
es that might be used somewhere, and it just beingimport
ed, i.e.settings.pkl
:Project.pkl
: