Thank you all for the explanations. I see now that I wasn't paying close enough attention, and needed to add another pair of brackets to destructure my lambda's single argument.
On Apr 16, 11:51 am, Per Vognsen <per.vogn...@gmail.com> wrote: > Tangent: > > On Fri, Apr 16, 2010 at 7:41 PM, Douglas Philips <d...@mac.com> wrote: > > (1)http://clojure.org/data_structuressays: > > ... seq returns a sequence of map entries, which are key/value pairs. ... > > > I haven't yet found where in the docs a pair is defined, so I am guessing > > that the concrete type (list, vector,...) for a pair is not > > relevant/important. > > That's right. But what is surprising is that when you try to go in the > other direction by converting a sequence of two-element sequences into > a map then the concrete type of those two-element sequences matters a > great deal: > > user> (conj {} [:foo 1]) > {:foo 1} > user> (conj {} (list :foo 1)) > ; Evaluation aborted. > > What's happening is that APersistentMap.cons() has a hard-coded type > check for IPersistentVector. There doesn't seem to be any good for why > it shouldn't work with any ISeq. Maybe performance? If that is a valid > concern, you could retain the current branch for IPersistentVector and > append an else-if for ISeqs. > > This isn't a big problem in practice, though I've been bitten by it > unexpectedly once or twice. But it's a surprising violation of the > principle that one kind of sequence should be as good as any other > when the context calls for no particular performance characteristics > (e.g. O(1) random access). > > -Per > > -- > 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 > athttp://groups.google.com/group/clojure?hl=en -- 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