[Grok-dev] Re: Grok sprint for PyCon 2008: grokcore

Martijn Faassen faassen at startifact.com
Sat Mar 15 21:09:45 EDT 2008

Philipp von Weitershausen wrote:
> Ideally, grokcore.component is very lean and just needs zope.interface 
> and zope.component. When you look at my experimental branch from a while 
> back [1], this is exactly what ended up happening. No fat requirements, 
> no browser-awareness, no ftests (!), etc...

Yes, this looks like a good goal. (Presumably it'll also need Martian, 
and possibly the grokcore.testing you discussed). We can explore 
detaching other things (such as views and viewlets) from the core later.

I really like how Grok's refactoring has gone over time, going from 
specific code to more general, declarative code:

* completely integrated, ad-hoc code (result of the first sprint in '06)

* grokkers (extraction work between the first sprint in '06 and the 
second one in early '07)

* martian (sometime last year)

Hopefully now we'll get:

* grokcore.component (good luck sprinters!)

I've also started work in Martian on more declarative directives, that 
know about their default behavior and how to extract values from 
components. This should also simplify the grokkers eventually.

The one aspect people are most worried about is "magic": the fear that 
Grok has too much ad-hoc behavior that will get in your way and has many 
details to remember. I hope that that this overall movement to 
declarative behaviors and dedicated components such as Martian and 
grokcore.component results in more and more reusable code.

Even though I believe special behaviors for reasons of convenience have 
their place in Grok, I hope that all this will reduce the perception and 
fear that Grok has too much magic.



More information about the Grok-dev mailing list