In Prolog, können wir so etwas wie die folgenden tun:Mustervergleich äquivalente Variablen in Haskell, wie in Prolog
myFunction a (a:xs) = ...
Dies ist, wenn das erste Argument von myFunction
ist das gleiche wie das erste Element der Liste das ist im 2. Argument, diese Funktion wird ...
auswerten.
Meine Frage ist jetzt ... wie eine ähnliche Sache in Haskell zu erreichen? Ich habe die Idee, dass Prologs Pattern Matching ausdrucksstarker ist als Haskells. Ich habe versucht, das in Haskell zu programmieren, und ich habe Probleme - entweder verwende ich ungültige Syntax oder der obige Trick wird einfach nicht tun.
In scala können Sie 'x' verwenden, um ein Muster zu kennzeichnen, das mit dem Wert einer Variablen wie dem agda-Fall übereinstimmt. –