# Goal Leverage your knowledge of haskell-src-exts for parsing Haskell source files, and checking that they contain prescribed fragments. This is a general problem of functional testing of code generators: One would like to make it modular, but at the same time as close to produced source as possible. I propose that you parse a Haskell output from code generator with haskell-src-exts and then match on the produced file. Matching would be best done using TemplateHaskell. Or you may also use Haskell-src-exts here in quasiquotes. so this could be an independent library that we use to make xml-typelift and json-autotype better. # Milestones 1. Parse input module with `haskell-src-exts`, and get a list of type declarations, and a list of instance declarations. (Easy) 2. Use `haskell-src-exts` to get a data structure from quasiquote. 3. Make a matching function out of a data structure returned by quasiquote. 4. Add convenience interface to parse output file with `haskell-src-exts` and match patterns. 5. Change all identifiers starting with an underbar (like `_function`) to be variables. Modify matching function accordingly 6. Change all type identifiers starting with an `U_` to be variables. 7. Change all class identitifers starting with an `U_` to be variables. 8. Make a test suite for xml-typelift using this. # Possible improvements for the future Not yet clear that we need this last feature for testing: * Generate variable substitutions from successful match.