I'm currently -0.9 on the plethora of plugins in the tvd-evaltoplugin branch. This change appears to be adding quite a bit of complexity for little to no practical benefit. It appears to be trying to separate code out into individual plugins just for the sake of separating code out into individual plugins.

Why so many plugins? The combinatorics lead to a huge number of possible configurations, most of which simply don't make sense. Why would someone load the HeaderEval plugin but not the BodyEval plugin?

A key facet of plugins is that they are optional. For something to be correctly designed as a plugin, it must make sense for the plugin to be loaded and it must make sense for the plugin to not be loaded.

A correct design also avoids creating "silly states," combinations that don't make sense. What does it mean to load the Bayes plugin, but have either use_bayes or use_bayes_rules turned off? What does it mean to have use_bayes_rules enabled but the Bayes plugin not loaded?

The moving of the WLBL code to a separate plugin meets this criteria, so I'm +0 on that. I also have no objection to changing the interface of the EvalTests to match those of plugins. It does not, however, make sense to have the loading of those eval tests be optional.

Reply via email to