On Thu, Nov 15, 2012 at 9:53 AM, MHOOO <thomas.karol...@gmail.com> wrote:

> Hello everybody,
>
> recently I was using the following pattern a lot, in order to get access
> to a value inside a map:
>
> (defn map-geto* [m k v]
>     (matche [m]
>                ([[[k v] . _]])
>                ([[_ . tail]] (map-geto* tail k v))))
>
>
> I can use that like this:
>
> (run* [q] (map-geto* (seq {:key "value"}) :key q))
>>
>
> which return ("value"). But after some thought I realized that I am
> essentially doing a linear-search on the map instead of leveraging the
> advantage of maps: fast-lookup of a value for a key.
> So I wanted to ask: does anybody know of a way to re-write this function,
> so it uses map-destructuring instead, while still being general enough so
> it can be used on a map with any data?
>

It maybe possible to do something sensible now via constraints. Will ponder
it.

David

-- 
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