[Grok-dev] Second refactoring of directives (and ClassGrokkers)
Philipp von Weitershausen
philipp at weitershausen.de
Fri May 9 20:55:47 EDT 2008
At the Grokkerdam sprint, JW, Martijn and I worked on making directives
symmetrical in the sense that they not only set stuff on classes but can
also be used (by grokkers et.al.) to read stuff from components. One of
the ultimate goals was that we could use this ability for introspection
later on.
Before the end of the sprint, we also looked at how to change the
grokker implementations from a very imperative style of working with
directives to a more declarative (and therefore easier to write but also
easier to introspect) style. I've now finished implementing what we
outlined in Grokkerdam. Like with the first refactoring of directives,
the work is spread over three branches of martian, grokcore.component
and grok. If you check out the 'philikon-decl-dir-rules' branch of grok,
though, you'll get the other two as an external automatically.
I would like to invite everybody (especially others of third-party
grokkers) to take a look at this stuff. If you want to check it out, you
should particularly look at grok's and grokcore.component's meta.py
(that's where all the grokkers are defined) and directive.py (where all
the directives are defined).
Like with the first refactoring, I will provide upgrade notes before
merging this work. I just haven't gotten around doing this yet and I
probably won't before next week (which gives y'all some time to take a
look at the branch). Given no major objections, I would like to get this
work merged (and, in case of martian and grokcore.component, released)
in a timely fashion though.
Philipp
More information about the Grok-dev
mailing list