문제

How does JVM type erasure help Clojure? Can Clojure exist without it? What would happen if the JVM had reified types? That is, how would Clojure change?

도움이 되었습니까?

해결책

Clojure wouldn't change much at all. Type erasure only applies to Java's type-parameters for generics. All other types are available at runtime.

Browsing Clojure's source, it does not use generics much at all. In the runtime, it passes around Objects and does instanceof checks. By treating everything as an Object, it has no need for generics, and thus, there are no type-parameters to be erased.

다른 팁

From what I can tell Clojure does not use type erasure from the JVM, so i dont think much would change with out it.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top