[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.


More information about the Grok-dev mailing list