Различия между типом и классом в Clojure

В чем разница между type и class в Clojure?

(type "") => java.lang.String
(class "") => java.lang.String
(type 1) => java.lang.Long
(class 1) => java.lang.Long

Ответ 1

Согласно ClojureDocs

type

type clojure.core

(type x)

Возвращает метаданные :type x или ее Class, если none

class

Class clojure.core

(class x)

Возвращает Class of x

Итак, в основном, если есть метаданные внутри x, type должен возвращать свои метаданные :type, в противном случае они будут одинаковыми.