unit testing - ¿Cómo estructurar un proyecto Haskell?
unit-testing tdd (2)
La respuesta moderna a esto es usar The Stakell Tool Stack . Esto estructurará el proyecto para usted usando los valores predeterminados.
Actualmente estoy tratando de hacer un proyecto Haskell usando la metodología de Prueba de desarrollo. En Java, podemos crear un proyecto muy bien estructurado que contenga carpetas src y bin, luego hay carpetas principales y de prueba para probar la unidad con JUnit. Me preguntaba ¿existe una forma estándar de obtener una estructura así en Haskell? Una carpeta para fuente una carpeta para binario, y en la carpeta fuente dos carpetas uno para probar uno para la fuente principal.
Mi referencia es siempre la Estructura de un proyecto Haskell y Cómo escribir un programa Haskell que deletrea algunos valores predeterminados que la comunidad parece seguir más o menos. Me ha funcionado bien hasta ahora, pero mis proyectos no han sido muy grandes hasta el momento.
Lo que se sugiere en la Estructura de un proyecto Haskell suena similar a lo que ha descrito en su publicación con algunas modificaciones menores, como la carpeta de prueba está en el mismo directorio que la carpeta src.
Editar:
cabal init
generará una cantidad mínima para usted, incluido el archivo cabal con dependencias relevantes si tiene algún archivo con importaciones al menos. Es un gran comienzo, pero solo una parte de lo que estás buscando.
Idealmente, a medida que crezca el proyecto, la jerarquía de directorios y archivos cabal se mantendría automáticamente actualizada, sin embargo, no conozco ninguna herramienta hecha pública que lo haga. Está en mi lista tal vez de un día, ya que estoy seguro de que es para muchos otros.
-odir
y -hidir
se pueden usar con ghc para poner los archivos * .o y * .hi en directorios separados. Puede leer más en la sección de la guía del usuario de GHC en compilación separada )
Edit2:
Otras publicaciones relevantes / superpuestas: