The Backward Chainer can also be framed that way. :-) Even more so
directly than what you've sketched on the SampleLink page.
The BC as currently implemented evolves atomese programs, where each
program encodes a specific forward chaining strategies (FCS for short).
There is a difficulty though, there are no easy way to evaluate the
fitness of a FCS, either it proves the target or it doesn't. Or let's
say that the fitness landscape is extremely chaotic, some FCS may prove
nothing at all, while a tiny variation of it may prove our target
completely.
BUT this can be overcome by meta-learning, i.e. learning a measure of
success for FCS that are half-way there. So in this framework
meta-learning would be used to reshape the fitness function, from a
crisp chaotic one to a smooth regular one.
Nil