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