> I think this is looking at the situation backwards. I don't want > BigInts, why should I want *them*? Nor longs or whatever for that > matter. What I want is a numerical tower and a language that can > handle it correctly, without blowing up, and if possible with clean > code. I can type 9223372036854775807 or something bigger in a > spreadsheet and get 9.22337203685478E+018, and take it from there. > Now, I don't know if spreadsheet programmers *want* doubles, but > something correct (if less precise) must be done depending on what *I, > the user* wants to do.
The spreadsheet example may be a useful one. Clojure is a language you could write a spreadsheet in. Would you want to use a spreadsheet written entirely in a JVM language that did not provide access to the primitives? > Now we face the choice of putting limits on what our users can do, use > a different set of operators, or decide that we "want" BigInts. Again, > this isn't about wanting bigints, that's a red herring. Part of the > problem is the complex, confusing, and sometimes quite mysterious Type > System that's been creeping into Clojure for the sake of performance. Clojure is not getting a type system. nor is the behavior in 1.3 complex. It can be confusing, because it is addressing a multifaceted problem, and it certainly is mysterious, because (1) we haven't spent enough effort documenting it, and (2) lots of people have misdocumented it. I'll make a documentation update higher priority; hopefully that will help. > Another is the conflicted attitude of being an untyped language: a > kind of guilty pleasure with the remorse it brings of all those > reflective calls and boxing/unboxing, whose negative effects on > performance supposedly makes the language lose credibility. The Clojure design process is not about achieving credibility, it is about solving problems. Credibility has followed, and will continue to follow, to the extent that Clojure solves problems well. Stu Stuart Halloway Clojure/core http://clojure.com -- 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