Quiero escribir el código que va de salida:interpolación de cadenas en Haskell
length [1,2,3] => 3
En Ruby, yo podría hacerlo como:
puts "length [1,2,3] => #{[1,2,3].length}"
Después de intentarlo es Haskell no ...
Prelude Data.List> print "length [1,2,3]"
"length [1,2,3]"
Prelude Data.List> print (length [1,2,3])
3
Prelude Data.List> print "length [1,2,3]" (length [1,2,3])
<interactive>:1:0:
Couldn't match expected type `Int -> t'
against inferred type `IO()'
In the expression: print "length [1,2,3]" (length [1, 2, 3])
In the definition of `it':
it = print "length [1,2,3]" (length [1, 2, 3])
Prelude Data.List>
Por cierto, al imprimir en una cadena se imprimirá con comillas (y se escapó). Pruebe putStr o putStrLn para imprimir la cadena tal como está. –