2011-07-17 4 views
5

올바른 시퀀스 유형은 무엇입니까? 이 코드가 있습니다클로저 시퀀스 유형

(defrecord MethodInfo [^clojure.lang.ISeq preconds ^clojure.lang.ISeq postconds]) 

을하지만 내가 (new MethodInfo 1 2)을 쓸 수 있기 때문에 정확하게 유형 요구 사항을 적용하지 않는 것 같습니다.

답변

7

나의 이해는 그 Clojure에서의 Type Hints 측면 단계별 반사에 의한 방법 조회를 향상, 성능 향상을 위해 단지가있다; 이것이 유일한 목적이며 동적 언어로 정적 유형을 적용하지 않는 것입니다.

this answer to a similar question을 참조하십시오.

편집 :

enforce primitive return types in some cases in Clojure 1.3 수 있다는 이야기이지만,이 명확 유형을 시퀀스 적용되지 않는다 아직 유동적, 그리고 무언가이다.

+1

대부분 사실입니다. definterface에 입력 힌트를 입력하면 생성 된 인터페이스에 올바른 유형의 필드가 생깁니다. 그것은 엄격하게 interop 목적을위한,하지만 당신은 일반적으로 정적 유형을 시행하지 않는 것이 옳습니다. – amalloy