(define-module automata :imports ("sets.slime") :exports (make-dfa) (define (make-dfa Q S delta q0 F) (let ((q q0)) (set-type! (lambda (s) (set! q (delta q s)) (list (if (set::contains? F q) :accept :fail) q)) :automaton))) )