Fork me on GitHub
#clojure-dev
<
2018-01-25
>
andy.fingerhut19:01:12

@bronsa Does your recent change to tools.reader now use normal (not TCO-optimized) recursion, and thus potentially a call stack that is as deep as long sequences of things to read in input files can be?

andy.fingerhut19:01:46

Pretty subtle bug, by the way. Thinking about ways that a linter like Eastwood might be able to warn about such a thing sounds pretty tricky, and like anything one would try to detect it would have lots of false positives and negatives.

bronsa19:01:52

@andy.fingerhut the recursion is only in whitespace paths

bronsa19:01:05

so stack depth shouldn't be an issue

bronsa19:01:29

if it becomes, we can always trampoline

andy.fingerhut19:01:10

and # dispatch forms, looks like?

andy.fingerhut19:01:23

But I guess those would rarely nest nearly as deeply as whitespace.

bronsa19:01:05

I'll cut 1.2.1, thanks

andy.fingerhut19:01:39

Cool. I wasn't even very deeply concerned after your explanation above, but that looks like one less Eastwood issue in the future. 🙂 Thanks.