10Pines / pdepreludat

BSD 3-Clause "New" or "Revised" License
24 stars 2 forks source link

Remove IO by deleting Main and rename Lib to Pdepreludat #2

Closed JuanFdS closed 5 years ago

JuanFdS commented 5 years ago

Qué

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.