Creo que a los alumnos les podría confundir un poco ver un archivo Main.hs con una función main de un tipo que para ellos es extraño (IO ()), entonces, la idea de este PR es bajar las ocurrencias de IO y dejar solo IO para los tests.
Cómo
Sólo eliminar el Main.hs provoca un error en stack, también hay que sacar de la configuración de stack el ejecutable, dejando solo library y test.
Aproveché también para renombrar el módulo a Pdepreludat.
Nota
Este cambio tiene un efecto inesperado que no entiendo muy bien como pasa que es que en el Prelude aparece dos veces el nombre del modulo como se ve acá:
[1 of 1] Compiling Pdepreludat ( /home/juan/Development/Proyectos/10pines/greenhouse-haskell/pdeprelude/src/Pdepreludat.hs, interpreted )
Ok, one module loaded.
Loaded GHCi configuration from /tmp/haskell-stack-ghci/102ec5c3/ghci-script
*Pdepreludat Pdepreludat>
Me parece algo medio menor, aún así agregué al template un .ghci que es un archivo de configuración que se usa al ejecutar stack ghci, pero al menos en ubuntu no lo toma de una porque stack new a partir del template lo crea con ciertos permisos, y ghci necesita que tenga menos permisos para leer el .ghci bien.
Qué
Creo que a los alumnos les podría confundir un poco ver un archivo
Main.hs
con una funciónmain
de un tipo que para ellos es extraño (IO ()
), entonces, la idea de este PR es bajar las ocurrencias de IO y dejar solo IO para los tests.Cómo
Sólo eliminar el
Main.hs
provoca un error en stack, también hay que sacar de la configuración de stack el ejecutable, dejando solo library y test. Aproveché también para renombrar el módulo a Pdepreludat.Nota
Este cambio tiene un efecto inesperado que no entiendo muy bien como pasa que es que en el Prelude aparece dos veces el nombre del modulo como se ve acá:
Me parece algo medio menor, aún así agregué al template un .ghci que es un archivo de configuración que se usa al ejecutar
stack ghci
, pero al menos en ubuntu no lo toma de una porquestack new
a partir del template lo crea con ciertos permisos, y ghci necesita que tenga menos permisos para leer el .ghci bien.