titaniumdecoy
, recuerdo que me ayudaron con este tipo de GHCi misterio cuando supe lo señalado con frecuencia que escribir cosas como 'dejar cuadrado x = x * x' en el interior del GHCi es como escribir con let a = f b
do
notación en la IO
mónada - decir en este tipo de ejemplo:
palindromize :: IO()
palindromize = do
a <- readFile "foo.txt"
let b = reverse a
putStrLn (a ++ b)
del mismo modo, cuando redefine una expresión en el GHCi, es como hacer lo siguiente en do
notación, que es perfectamente legítimo:
makeMess :: IO()
makeMess = do
a <- readFile "foo.txt"
let b = reverse a
putStrLn (a ++ b)
let b = a
putStrLn (a ++ b)
Nadie declarar un tipo de datos en medio de una secuencia tal, pero lo haría en el módulo en otro lugar. Podría haber adivinado que había algún tipo de objeción teórica, pero la observación de Don S. sugiere que no hay ninguna.
posible duplicado de [¿Es posible definir nuevas ADT en GHCi] (http://stackoverflow.com/questions/3849716/is-it-possible-to-define-new-adts-in-ghci) – newacct
@ newacct: hice esta pregunta antes de que se le hiciera la pregunta a la que se vinculaba. – titaniumdecoy
Como dice Alexey Romanov a continuación, puede hacerlo en ghc 7.4.1 en adelante. – Davorak