[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