Haskell:
Escribiendo un archivo de texto

Cómo hacerlo:

El Prelude estándar de Haskell proporciona soporte elemental para escribir en archivos usando las funciones writeFile y appendFile del módulo System.IO. Aquí hay un ejemplo básico de cómo crear un archivo nuevo (o sobrescribir uno existente) y luego agregar texto a un archivo.

import System.IO

-- Escribiendo en un archivo, sobrescribiéndolo si existe
main :: IO ()
main = do
  writeFile "example.txt" "Esta es la línea uno.\n"
  appendFile "example.txt" "Esta es la línea dos.\n"

Cuando ejecutas este programa, crea (o limpia) example.txt y escribe “Esta es la línea uno.” seguido de “Esta es la línea dos.” en la siguiente línea.

Para un manejo de archivos más avanzado, los programadores de Haskell a menudo recurren al paquete text para un procesamiento eficiente de cadenas y al paquete bytestring para manejar datos binarios. Aquí tienes cómo usar el paquete text para IO de archivos:

Primero, necesitas agregar text a las dependencias de tu proyecto. Luego, puedes usarlo de la siguiente manera:

import qualified Data.Text as T
import qualified Data.Text.IO as TIO

-- Escribiendo en un archivo usando el paquete text
main :: IO ()
main = do
  let content = T.pack "Usando el paquete text para un mejor rendimiento.\n"
  TIO.writeFile "textExample.txt" content
  TIO.appendFile "textExample.txt" $ T.pack "Agregando línea dos.\n"

En este fragmento, T.pack convierte una String regular al tipo Text, que es más eficiente. TIO.writeFile y TIO.appendFile son los equivalentes en text para escribir y agregar a archivos, respectivamente.

Ejecutar este código resultará en un archivo llamado textExample.txt con dos líneas de texto, demostrando tanto las capacidades de creación como de agregación usando la avanzada biblioteca text para un mejor rendimiento y capacidad en el manejo de texto Unicode.