A haskell implementation of Angluin's learnig algorithm with the machine as learner, see http://www.model.in.tum.de/um/courses/auto/ws1314/script/autonotes.pdf#section.2.7