2
어떻게 증가 기능이 유형 서명에 언급 된 최초의 회사에 대한 아무 것도 바인딩없이 컴파일 올이해 SYB 상용구 제거
-- Increase salary by percentage
increase :: Float -> Company -> Company
increase k = everywhere (mkT (incS k))
-- "interesting" code for increase
incS :: Float -> Salary -> Salary
incS k (S s) = S (s * (1+k))
http://web.archive.org/web/20080622204226/http://www.cs.vu.nl/boilerplate/에 주어진.
부분적인 기능에 할당하는 것과 비슷합니까? 왜 그렇게 된거야?
처음에는 덜 분명할지 모르지만, 카레 기능 프로그램의 기본 속성 중 하나이며 모든 숙련 된 기능 프로그래머가 우수 사례로 간주합니다. – Martijn