하스켈 유형 시스템 (*)의 흥미로운 속성 중 하나는 정확히에 해당 함수가 해당 유형 서명에만 기반한 것을 말할 수 있다는 것입니다 (unsafe IO
어두운 마법이 없다고 가정). invloved).유형별로 함수의 영향을 확인하십시오.
예를 들어, 타입 시그니처 a -> a
어떤 함수는 항등 함수이어야하며, 어떠한 타입의 (a,b) -> a
fst
함수는 동일하다. 어떤 경우에는 함수를 완전히 결정할 수 없습니다. 유형이 a -> Int
인 가능한 함수가 무한대 있지만 모두 모두 상수입니다. 모두 첫 번째 매개 변수를 무시합니다.
이 속성은 매력적이지만, id
및 const
과 같은 "사소한"기능에만 적용됩니다. 나 맞아? 는 다른보다 함께 "아무것도 할 수 없습니다"예를 들어, a -> a
, 우리는 (Num a => a -> a
같은 제한 기능 반대) a
에 대해 "아무것도 몰라"그래서 - 또한
*이
나는 적절한 제목을 생각할 수 없었고 현재의 내용에 만족하지 않습니다. 제안 및/또는 편집을 환영합니다. 감사! – Benesh
Philip Wadler의 논문 "Theorems for free!" 이 주제를 다룹니다. 나는 충분히 대답을 쓰는 것을 충분히 이해하지 못한다. – delnan
@delnan 고마워! 미래의 독자들을위한 [link] (http://ttic.uchicago.edu/~dreyer/course/papers/wadler.pdf)가 있습니다. 그것은 형식 이론에서 기본 배경을 요구하는 것 같습니다. – Benesh