Hi there, This is possibly a silly question (and may have been asked before but I couldn't find earlier examples) so here it goes.
We start with a form which we're all familiar with: user=> (:this {:this "is" :the "same"}) "is" Then it's not a stretch to go to: user=> (def the 1) #'user/the user=> (nth [1 "is" the :same] 1) "is" Here's where it gets tricky as we enter the land of make believe and what-if? I suggest a special form where vector elements could be treated like functions in a manner similar to maps keys. As this is purely hypothetical there might be better ways of representing this: Get the nth element of the vector user=> (3 [1 "is" the :same]) :same Get the nth element of the vector user=> (2 [1 "is" the :same]) 1 Get the nthiness of an element in the vector user=> (::same [1 "is" the :same]) 3 Get the nthiness of an element in the vector user=> (:the [1 "is" the :same]) 2 Get the nthiness of an element in the vector user=> (:1 [1 "is" the :same]) (0 2) Taking things further into the realms of really you should have stopped there! Get the these element of the vector user=> ((1 3) [1 "is" the :same]) ("is" :same) Just for fun I tried: user=> ((:this :the) {:this "is" :the "same"}) NullPointerException user/eval786 (NO_SOURCE_FILE:1) I may be barking up the wrong tree or possibly just barking... I hope what I'm asking makes some sort of sense. By way of apology to the reader, when I began writing this question it was ill thought out and seemed a lot simpler. As a disclaimer, I can't think of direct examples how this would improve readability or such or even necessarily be useful. Though, that being said, I do believe that there people who'd make good use of such a feature, though I don't know who they are either but I'm hoping you're reading this ;) My parting shot, I have a guess as to why things are the way they are but that is completely in substantiated and lacks in even the most basic rationality as I also guess as to why my guess might not be true... :( -- Warning! If you question everything the answer you'll get is "EVERYTHING!" Stephen. -- 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/d/optout.