나는 Learn you a Haskell을 읽고 있는데, 특히 패턴 매칭에 관한 장이다.패턴 매칭의 퍼포먼스
length' :: (Num b) => [a] -> b
length' [] = 0
length' (_:xs) = 1 + length' xs
내 질문은 재귀의 순서를 반전 것입니다 상당한 성능 향상을 보여 (기본 케이스를 넣고 배치하여) : 다음은리스트의 길이를 계산하기위한 튜토리얼에 제시된 코드는?
length' :: (Num b) => [a] -> b
length' (_:xs) = 1 + length' xs
length' [] = 0
중요하지 않은 추가 이유가 있습니다. 패턴 매칭 (GHC)은 [패턴 수의 일정 시간]입니다 (http://stackoverflow.com/q/9027384/2751851). – duplode