domingo, 28 de septiembre de 2025

Cabal

Cabal es un conjunto de herramientas para proyectos Haskell.

Nos ayuda a crear y empaquetar bibliotecas y programas de Haskell. Define una interfaz común para que los creadores y distribuidores de paquetes creen fácilmente sus aplicaciones de forma portable. Forma parte de una infraestructura más amplia para distribuir, organizar y catalogar bibliotecas y programas de Haskell.

Instalando Cabal en Windows:

$ Set-ExecutionPolicy Bypass -Scope Process -Force;[System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; try { & ([ScriptBlock]::Create((Invoke-WebRequest https://www.haskell.org/ghcup/sh/bootstrap-haskell.ps1 -UseBasicParsing))) -Interactive -DisableCurl } catch { Write-Error $_ }

Verificando la instalación:

$ cabal --version

Instalación en Linux:

$ curl --proto '=https' --tlsv1.2 -sSf https://get-ghcup.haskell.org | sh

$ source ~/.bashrc
$ ghcup install cabal latest
$ cabal update

Verificando la instalación:

$ cabal --version

Creando un proyecto con Cabal:

$ mkdir miproyecto && cd miproyecto
$ cabal update && cabal init
$ cabal run

En caso de algún error debemos modificar el archivo ``miproyecto.cabal``, debe quedar de la siguiente forma:

   -- build-depends:    base ^>=4.18.3.0
   build-depends: base >= 4.18 && < 4.20

Una vez hecho y guardado el archivo procedemos a actualizar, construir y ejecutar el proyecto, pero antes echemos un vistazo al programa ``Main.hs``:

module Main where

main :: IO ()
main = putStrLn "Hola,mundo en Haskell!"

Ahora si:

$ cabal update
$ cabal build
$ cabal run

Salida:

Hola,mundo en Haskell!

Si necesitas actualizar la versión de ghc, teclea esto:

$ ghcup install ghc 9.6.3
$ ghcup set ghc 9.6.3

Hemos instalado Cabal y creado nuestro primer programa.

Enlaces:

https://www.haskell.org/cabal/
https://cabal.readthedocs.io/en/stable/getting-started.html#installing-cabal
https://www.haskell.org/ghc/
https://www.cs.us.es/~fsancho/Blog/posts/Haskell_el_lenguaje_funcional.md

No hay comentarios:

Publicar un comentario

Cabal

Cabal es un conjunto de herramientas para proyectos Haskell. Nos ayuda a crear y empaquetar bibliotecas y programas de Haskell . Defi...