Programs are composed from primitives
Primitives can be anything:
Theorem provers, neural net algorithms, trajectory generators for robot arms, SVMs, Bayesian network algorithms, assembler-like instructions, your favorite search and learning algorithms, combinations thereof...
Just make sure OOPS can interrupt any primitive once it consumes too much time as part of a program composed and tested by OOPS:
Back to J. Schmidhuber's OOPS page