Details
-
Type:
Defect
-
Status:
Open
-
Priority:
Minor
-
Resolution: Unresolved
-
Affects Version/s: Release 1.4
-
Fix Version/s: None
-
Component/s: None
-
Labels:None
Description
Given: (defn f [x] (println x) x)
#{(f 2) (f 1)}
Prints:
1
2
But expected would be:
2
1
This issue is related to CLJS-288
I have the same question as David Nolen for CLJS-288: Is this a bug, or just behavior you didn't expect?
It seems that vectors preserve the order of evaluation, so if you really want to control evaluation order you could use something like (set [(f 2) (f 1)]) or (set (map f [2 1])).