On Friday, 21 July 2017 00:35:00 UTC+1, Milt Reder wrote:
>
> Here's a simplified example:
>
> I can confirm that pasting that defn into a CIDER repl does take a long 
time before the prompt comes back. I tried doing a "macro expand all" and 
it was pretty much instantaneous. The resulting expansion is quite long but 
not unreasonable (see below). Beyond that, I'm not sure how to analyse what 
Clojure's doing or time it. I'm using 1.9 alpha by the way.
Pete

(def wat
 (fn*
   ([& p__9335]
     (let*
       [map__9336
        p__9335
        map__9336
        (if (seq? map__9336)
          (. clojure.lang.PersistentHashMap create (seq map__9336))
          map__9336)
        a
        (get map__9336 :a)
        b
        (get map__9336 :b)
        c
        (get map__9336 :c)
        d
        (get map__9336 :d)
        e
        (get map__9336 :e)
        f
        (get map__9336 :f)
        map-0
        (get map__9336 :map-0)
        map-1
        (get map__9336 :map-1)
        map-2
        (get map__9336 :map-2)]
       (let*
         [G__9337
          "foo"
          G__9337
          (if a (str G__9337 a) G__9337)
          G__9337
          (if b (str G__9337 b) G__9337)
          G__9337
          (if c (str G__9337 c) G__9337)
          G__9337
          (if d (str G__9337 d) G__9337)
          G__9337
          (if e (str G__9337 e) G__9337)
          G__9337
          (if f (str G__9337 f) G__9337)
          G__9337
          (if map-0
            (let*
              [G__9338
               G__9337
               G__9338
               (if (:a map-0) (str G__9338 (:a map-0)) G__9338)
               G__9338
               (if (:b map-0) (str G__9338 (:b map-0)) G__9338)
               G__9338
               (if (:c map-0) (str G__9338 (:c map-0)) G__9338)]
              (if (:d map-0) (str G__9338 (:d map-0)) G__9338))
            G__9337)
          G__9337
          (if map-1
            (let*
              [G__9339
               G__9337
               G__9339
               (if (:a map-1) (str G__9339 (:a map-1)) G__9339)
               G__9339
               (if (:b map-1) (str G__9339 (:b map-1)) G__9339)
               G__9339
               (if (:c map-1) (str G__9339 (:c map-1)) G__9339)]
              (if (:d map-1) (str G__9339 (:d map-1)) G__9339))
            G__9337)]
         (if map-2
           (let*
             [G__9340
              G__9337
              G__9340
              (if (:a map-2) (str G__9340 (:a map-2)) G__9340)
              G__9340
              (if (:b map-2) (str G__9340 (:b map-2)) G__9340)
              G__9340
              (if (:c map-2) (str G__9340 (:c map-2)) G__9340)]
             (if (:d map-2) (str G__9340 (:d map-2)) G__9340))
           G__9337))))))


-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to [email protected]
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
[email protected]
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 [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to