来自 TG 群的 https://github.com/hnOsmium0001
godbolt link
cppcon link
C++14
f⇒f⇒n
然后改成 f(f)(n)
然后提取
这步 GCC 可以,Clang 已经无法推导了。
把 <- 的地方的 f(f) 提出来。
GCC 也阵亡了。
这篇文章里反复用到的一个技巧是
要把 n 提到外面
上述代码会 stackoverflow
要把 f(f) 改成
function(v) return f(f)(v) end
上文的手动 lazy 化的技巧经 github.com/magic-akari 指出,叫 Z-combinator