Como parte de un proyecto universitario, tenemos que escribir un compilador para un lenguaje de juguete. Para hacer algunas pruebas para esto, estaba considerando la mejor manera de escribir algo así como pruebas unitarias. Como el compilador está escrito en haskell, Hunit y quickcheck están disponibles, pero quizás no del todo apropiados.Pruebas unitarias para una salida de compilador
¿Cómo podemos hacer cualquier tipo de prueba no manual? La única idea que he tenido es compilar efectivamente a Haskell también, ver cuál es el resultado, y usar un script de shell para comparar esto con el resultado del programa compilado: esto es bastante trabajo, y no es demasiado elegante tampoco.
La prueba de unidad es para ayudarnos, y no es parte del trabajo evaluado en sí.
No necesita compilar a Haskell; también puede simplemente escribir una implementación de referencia simple de un intérprete. – sclv