[Grok-dev] Re: Second refactoring of directives (and ClassGrokkers)
Philipp von Weitershausen
philipp at weitershausen.de
Wed May 14 07:59:15 EDT 2008
Philipp von Weitershausen wrote:
> 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.
Not having received any feedback on this, I'm planning to merge (and
release as far as martian and grokcore.component are concerned) the
refactorings today.
I will also take a look at some megrok.* packages and try to port them
over if necessary.
More information about the Grok-dev
mailing list