Peter Drake wrote:

>> pop.subpop.1.species =
>> =
> This shortcut doesn't seem to work:

A bug: when we moved Fitness into Species last iteration, I forgot to  
add its default base.

>> One ugliness above is that Subpopulations must still be defined  
>> using the standard form and not the defaults form because I hadn't  
>> added defaults forms for them.  That'll be remedied in a few  
>> minutes on CVS.  You should then be able to say:
> That sounds much better. Let me know when it's up.

It's up on CVS now, as is the bugfix above.

> That's a help, although it's still a bit cryptic. Near the end of  
> the output:
>          P: finish = ec.simple.SimpleFinisher
>          P: breed = ec.simple.SimpleBreeder
>          P: pop.subpops = 2
>         !P: breed.elite.0
>         !P: breed.elite.1
>          P: eval = ec.simple.SimpleEvaluator
>          P: eval.problem =
>          P: eval.problem.stack =
>         <P: gp.problem.stack
>          P: eval.problem.stack.context =
>         <P: gp.adf-stack.context
>          E: =
>         <E:
>          E: =
>          P: =
>         <P:
>          P: =
>         <P:
>         !E: eval.masterproblem
>         !E: eval.masterproblem

It's documented in ParameterDatabase:

  * An optional set of parameters, "print-params", specifies whether  
or not
  * parameters should be printed as they are used (through one of the  
  * methods). If print-params is unset, or set to false or FALSE,  
nothing is
  * printed. If set to non-false, then the parameters are printed  
prepended with a "P:"
  * when their values are requested,  "E:" when their existence is  
tested.  Prior to the
  * "P:" or "E:" you may see a "!" (meaning that the parameter isn't  
in the database),
  * or a "<" (meaning that the parameter was a default parameter  
which was never
  * looked up because the primary parameter contained the value).