You think I should file a bug-report?
Sunil.

On Thu, Apr 19, 2012 at 11:53 AM, Meikel Brandmeyer (kotarak)
<m...@kotka.de>wrote:

> Hi,
>
> I think this is a bug. This is the expansion without any :as clause:
>
> (let*
>   [map__4496
>    {:a 10, :b 20, :c {:a 30, :b 40}}
>    map__4496
>    (if (clojure.core/seq? map__4496)
>      (clojure.core/apply clojure.core/hash-map map__4496)
>      map__4496)
>    map__4497
>    (clojure.core/get map__4496 :c)
>    map__4497
>    (if (clojure.core/seq? map__4497)
>      (clojure.core/apply clojure.core/hash-map map__4497)
>      map__4497)
>    a
>    (clojure.core/get map__4497 :a)
>    b
>    (clojure.core/get map__4497 :b)
>    a1
>    (clojure.core/get map__4496 :a)
>    b1
>    (clojure.core/get map__4496 :b)]
>   {:a a, :b b, :b1 b1, :a1 a1})
>
> Now with the :as clauses:
>
> (let*
>   [w
>    {:a 10, :b 20, :c {:a 30, :b 40}}
>    w
>    (if (clojure.core/seq? w)
>      (clojure.core/apply clojure.core/hash-map w)
>      w)
>    w
>    (clojure.core/get w :c)
>    w
>    (if (clojure.core/seq? w)
>      (clojure.core/apply clojure.core/hash-map w)
>      w)
>    a
>    (clojure.core/get w :a)
>    b
>    (clojure.core/get w :b)
>    a1
>    (clojure.core/get w :a)
>    b1
>    (clojure.core/get w :b)]
>   {:a a, :b b, :b1 b1, :a1 a1})
>
> As you can see :as simply replace the generated symbol with the given one.
> This is a mistake however. I think the correct expansion should look
> something like this:
>
> (let*
>   [map__4502
>    {:a 10, :b 20, :c {:a 30, :b 40}}
>    map__4502
>    (if (clojure.core/seq? map__4502)
>      (clojure.core/apply clojure.core/hash-map map__4502)
>      map__4502)
>    w map__4502
>    map__4503
>    (clojure.core/get map__4502 :c)
>    map__4503
>    (if (clojure.core/seq? map__4503)
>      (clojure.core/apply clojure.core/hash-map map__4503)
>      map__4503)
>    w map__4503
>    a
>    (clojure.core/get map__4503 :a)
>    b
>    (clojure.core/get map__4503 :b)
>    a1
>    (clojure.core/get map__4502 :a)
>    b1
>    (clojure.core/get map__4502 :b)]
>   {:a a, :b b, :b1 b1, :a1 a1})
>
> Kind regards
> Meikel
>
>  --
> 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 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