> 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

Reply via email to