Cool - looks like we both walked similar paths: Using a stack-based language, pruning invalid programs, even having similar bugs (I too had one related to excluded prefixes).
It's sad that things like this are nearly impossible to find on Google unless you already know the exact title.