Added an example of algorithm that uses a yield instead of a return.
These might be usefull if we want to do work outside of the loop, like
checkpointing or printing the log every other generation.