Haskell:
Affichage des sorties de débogage
Comment faire :
Voici quelques exemples simples en Haskell :
-- Impression basique
main :: IO ()
main = putStrLn "Hello, debugging world!"
-- Afficher une valeur de variable
debugVar :: Show a => a -> IO ()
debugVar var = print var
-- Utilisation de debugVar
mainVar :: IO ()
mainVar = do
let number = 42
debugVar number -- Affiche: 42
Sortie prévue :
Hello, debugging world!
42
Exploration approfondie
Historiquement, Haskell a favorisé des approches plus formelles de débogage comme le typage statique fort et le raisonnement équationnel. Mais imprimer des sorties pour déboguer reste une technique courante. L’alternative sophistiquée dans Haskell, c’est l’utilisation de Debug.Trace
, qui permet d’insérer des traces sans modifier le type de la fonction. Cependant, cette méthode est considérée comme impure dans un contexte Haskell et devrait être évitée en production.
import Debug.Trace (trace)
-- Utilisation de trace
mainTrace :: IO ()
mainTrace = putStrLn (trace "This will be printed first" "Hello, after trace!")
Sortie prévue :
This will be printed first
Hello, after trace!
Voir également
Pour plus d’informations, consultez :
- La documentation de Haskell sur
Debug.Trace
: http://hackage.haskell.org/package/base-4.15.0.0/docs/Debug-Trace.html - Pour une approche plus systématique du débogage, le livre “Haskell Programming from First Principles” (http://haskellbook.com/) offre une explication complète sur le débogage en Haskell.
- La communauté Haskell pour plus de trucs et astuces : https://www.reddit.com/r/haskell/