Haskell은“일반적인 기능”이라는 개념을 가지고 있는데, 이는 일반적인 lisp와 공통점을 가진 경험이없는 일반적인 lisp와 비슷한 점이 있습니다. 이것은 to_string모든 유형의 문자열 표현을 정의하는 일반 기능을 정의 할 수 있음을 의미합니다 . 물론 특수한 경우에는 시설을 정의해야하지만 to_string서명이 인 함수가 α → string있습니다.
OCaml과 마찬가지로 Haskell에서 유형이 지워 집니까? 그렇다면 Haskell의“일반 기능”의 구현은 유형이 동적이므로 삭제되지 않는 일반적인 lisp의 구현과 어떻게 다릅니 까?
구현 세부 사항은 컴파일러마다 다르지만 대부분 또는 모든 구현에 공통적 인 조항이있을 수 있음을 이해합니다.
a -> String. 과 같은 유형 제약 조건이있을 가능성이 큽니다Show a => a -> String.