En Prolog, nous pouvons faire quelque chose comme ce qui suit:modèle correspondant à des variables équivalentes dans Haskell, comme dans Prolog
myFunction a (a:xs) = ...
Ceci est, lorsque le 1er argument myFunction
est le même que le premier élément de la liste C'est dans le 2ème argument, cette fonction évaluera à ...
.
Ma question est maintenant ... comment accomplir une chose similaire dans Haskell? J'ai l'idée que Pattern Matching de Prolog est plus expressif que celui de Haskell. J'ai essayé de coder cela dans Haskell et j'ai des problèmes - soit j'utilise une syntaxe invalide, soit le truc ci-dessus ne suffira pas.
Dans scala, vous pouvez utiliser 'x' pour désigner un motif qui correspond également à la valeur d'une variable comme le cas Agda. –