嗨 Ladislav
此问题与 cljs 或 test.check 无直接关系
它与 go
宏相关
go
宏会重写它的主体
您可以通过在 repl 中运行 (macroexpand '(go 1))
来查看它。
甚至像 1
这样的简单形式,也会变成一个更大的形式,其中包含大量的“状态机”和其他东西。
1
结果是一个 ~2k 字符长的形式
稍微复杂一点,比如 (go (inc (<! (go 1))))
,就变成了 ~4k 字符
它还在继续增长。
在某些情况下,这种“展开的 go 代码”增长得太多,导致 StackOverflow 或其他奇怪的分析器错误
在您的情况下, testing
/ is
宏会展开成一个大代码,所以您很快就会有一个“太长”的形式。