Oujee! Joskus sitä ilahtuu, kun muistaa, miten hienoja juttuja on tehnyt. Demosin työkavereille ohimennen sitä, kuinka säännöllisistä lausekkeista (tai ylipäänsä säännöllisistä kielistä) voi generoida merkkijonoja. On suorastaan maagisen tuntuista, että tää toimii:
scheme@(guile-user)> (fsa-generate (hfre->fsa '(with "foo" but also with "org")) 7) $14 = ((#\f #\o #\o #\r #\g) (#\f #\o #\o #\r #\g (other)) (#\f #\o #\o #\r #\g (other) (other)) (#\f #\o #\o #\o #\r #\g) (#\f #\o #\o #\o #\r #\g (other)) (#\f #\o #\o (other) #\o #\r #\g) (#\o #\r #\g #\f #\o #\o) (#\o #\r #\g #\f #\o #\o (other)) (#\o #\r #\g (other) #\f #\o #\o) ((other) #\f #\o #\o #\r #\g) ((other) #\f #\o #\o #\r #\g (other)) ((other) #\f #\o #\o #\o #\r #\g) ((other) #\o #\r #\g #\f #\o #\o) ((other) (other) #\f #\o #\o #\r #\g))
Toteutuksena on siis tuo väsäämäni äärellistilaisten automaattien käsittelykirjasto.