Haskell Language Modèles de bang


Exemple

Les motifs annotés par un bang ( ! ) Sont évalués strictement plutôt que paresseusement.

foo (!x, y) !z = [x, y, z] 

Dans cet exemple, x et z seront tous deux évalués à la forme normale de la tête faible avant de renvoyer la liste. C'est équivalent à:

foo (x, y) z = x `seq` z `seq` [x, y, z]

Les patterns Bang sont activés en utilisant l'extension de langage Haskell 2010 BangPatterns .