doseq
Description of the issue with reproduction steps
Original doseq implementation requires vectors to be functions. with a small work around this can be avoided
Stack trace
error: invalid call with 1 arg to: [true (do (println [x y]))]
─────┬────────────────────────────────────────────────────────────────────────────────────────────── │ doseq.jank ─────┼────────────────────────────────────────────────────────────────────────────────────────────── 57 │ 58 │ (doseq [x (range 6) │ ^^^^^^^^^^^^^^^^^^ Found here. 59 │ :when (odd? x) 60 │ :let [y (* x x)]] 61 │ (println [x y])) ─────┴────────────────────────────────────────────────────────────────────────────────────────────── Stack trace (most recent call first): #4 at jank #5 in jank::runtime::dynamic_call at jank #6 in junk_doseq_strict_step_4_2 #7 in junk_doseq_strict_step_4_2 #8 in junk_doseq_strict_step_4_2 #9 in jank::runtime::obj::jit_closure::call at jank #10 in junk_doseq_strict_doseq_3_4 #11 in jank::runtime::obj::jit_function::call at jank #12 in jank::runtime::dynamic_call at jank #13 in jank::runtime::apply_to at jank #14 at jank #15 in jank::runtime::context::macroexpand at jank #16 in jank::analyze::processor::analyze_call at jank #17 in jank::analyze::processor::analyze at jank #18 in jank::analyze::processor::analyze at jank #19 in jank::runtime::context::eval_string at jank #20 in jank::runtime::context::eval_file at jank #21 at jank #22 in jank_init at jank #23 at libc.so.6 #24 in __libc_start_main at libc.so.6
I created a pull request to update the doseq, @jeaye
I created a pull request to update the doseq, @jeaye
Thanks. I commented on it yesterday, asking you to rebase, since currently the PR is showing 600+ changes and has conflicts with main. If it's easier to create a new PR with the changes, we could also do that. But the current PR can't be merged right now, due to the conflicts.