How to build C'Dent * Define a common AST that contains all the information to generate: * Perl, Python, Ruby, JavaScript output * Make a syntax to compile to the AST * Why not use the same languages? * Use Haskell to write the compilers * Inputs need to be strongly typed * Outputs can include Java and Haskell and even C