simbolos pattern opciones hacer ejemplos como ciclos basico haskell version package cabal

opciones - pattern matching haskell



¿Cómo puede mi programa Haskell o biblioteca encontrar su número de versión? (1)

Me gustaría que mi programa cabalizado tenga un modificador de conversión.

Me gustaría informar la misma versión que está presente en el archivo .cabal.

Si tengo que actualizar el número de versión por separado en mi código fuente de Haskell, así como en el archivo .cabal, eventualmente los eliminaré de sincronización.

Entonces, ¿cómo puede mi programa, mientras se compila bajo cabal, obtener su número de versión del archivo .cabal?


Esto está bien respaldado con Cabal. Como sigue (de xmonad):

Import Paths_$myprogram - un archivo Cabal crea con muchos metadatos del archivo .cabal, junto con un módulo para manejar los números de versión:

import Paths_xmonad (version) import Data.Version (showVersion)

Agregue una declaración de impresión para imprimir el campo ''versión'' proporcionado por Paths_$myprogram :

case args of ["--version"] -> putStrLn ("xmonad " ++ showVersion version)

En general, el archivo de rutas generado de Cabal contiene los siguientes valores, en dist/build/autogen/

version, getBinDir, getLibDir, getDataDir, getLibexecDir, getDataFileName