I tried asking this on twitter and wasn't getting my question across in 140 
characters so I decided to post here. 
I'm curious as to why Clojure as a language hasn't abstracted/hidden all of 
Java's classes and created their own in the Clojure. namespace. 

For example

Big Ints are of type and class Clojure.lang.BigInt. 

user=> (type 10000N)
clojure.lang.BigInt
user=> (class 10000N)
clojure.lang.BigInt


Although a Long is a java.lang.Long both in type and class

user=> (class 1)
java.lang.Long
user=> (type 1)
java.lang.Long


Similarly a character is of type java.long.Character

user=> (type \a)
java.lang.Character
user=> (class \a)
java.lang.Character


Again with Java strings

user=> (class "string")
java.lang.String
user=> (type "string")
java.lang.String


Although a Strings have a few functions in the clojure.strings namespace 
which can be accessed. Why wouldn't clojure.lang.string be the type? And 
somehow inherit/remap all of the java string functions?
Was this design decision made during the languages conception to clean up 
the clojure namespaces? Or is there another reason that I'm not seeing?


-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"Clojure" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to clojure+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to