unfoldl package:yi-language

unfold lexer into a function that returns a stream of (state, token)