smallestNumberH (x:xs) n = if(xs==[])then n else (if(x<n) then smallestNumberH xs x else smallestNumberH xs n)
smallestNumber (x:xs) = smallestNumberH (x:xs) x
countmin::[Int]->Int
countmin l:ls = if (ls==[]) then 0 else (if(l==smallestNumber ls) then (1 + countmin ls) else (countmin ls))
Es sagt "Parse Fehler in Muster: Countmin". Ich habe versucht, l: neben ls hinzuzufügen, aber es funktioniert nicht.Haskell sagt Parse-Fehler
Sie haben auch einige nicht erschöpfende Muster. Versuchen Sie, mit "-Wall" zu kompilieren, um diese zu sehen, bevor sie Laufzeitfehler verursachen. –
Wenn Sie möchten, dass Ihre Hilfsfunktion nur den Fall behandelt, in dem es mindestens ein Element gibt, machen Sie dieses Element zu einem separaten Argument für die Hilfsfunktion, damit klar ist, dass es immer da ist. Ihre Hauptfunktion sollte den leeren Fall irgendwie behandeln. – dfeuer
Mögliches Duplikat von [Haskell: Parse-Fehler im Muster] (https://stackoverflow.com/questions/8561762/haskell-parse-error-in-pattern) –