On Thursday, April 21, 2016 at 2:20:11 PM UTC-5, Mars0i wrote:
> The behavior with strings is simply undocumented anywhere, afaik, though.
>
Sorry, that was wrong even before I added an example to clojure.docs. The
conj.io documentation is quite explicit and detailed.
--
You received this
Strings are indexed. They are a special case because String is a Java final
class that cannot be "extended" to support the core interfaces inside
Clojure's Java implementation. If Clojure were itself protocol-based (like
ClojureScript is), the protocol could cover this without the special case.
On Thursday, April 21, 2016 at 11:49:16 AM UTC-5, Andy Fingerhut wrote:
>
> Most doc strings are considered terse by many people. This appears to be
> considered a feature by those who maintain Clojure, not a bug, with one
> reason given by Stuart Halloway in his recent talk on using the
That's a good point, but it should be noted that all collections for which
clojure.core/counted? returns true (they implement clojure.lang.Counted)
should implement count in constant time. So the design of the Counted
interface was clearly intended to provide consumers a soft guarantee of
That's a good point, but it should be noted that all collections for which
clojure.core/counted? returns true (they implement clojure.lang.Counted)
should implement count in constant time. So the design of the Counted
interface was clearly intended to provide consumers a soft guarantee of
On Apr 21, 2016, at 10:04, James Reeves wrote:
>
> Clojure seems to avoid having functions that have variable performance
> depending on the data structure they're applied to.
But not always! (e.g. count)
--
You received this message because you are subscribed to the
It doesn't necessarily follow that something that works with
clojure.core/get needs to work with clojure.core/assoc. You can have an
object that implements ILookup but not Associative, for instance.
The problem with using assoc with native JVM data structures like strings
and arrays is that there
This is a special case behavior of clojure.core/get, as you can see in the
RT.java source file at these lines:
https://github.com/clojure/clojure/blob/master/src/jvm/clojure/lang/RT.java#L750-L755
I have no idea if a JIRA would be accepted for any change on this or not,
but if one was, I suspect
The docstring for 'get' says nothing explicit about vectors ("Returns the
value mapped to key, not-found or nil if key not present.") but most of us
know that vectors can be viewed as associative data structures where
indexes are like keys:
(get [\a \b \c] 1)
\b
'get' also works on strings: