I wrote something like that once... its a simple bracktes automata, isn't it? and isn't LISP about the same?