我试图弄清楚如何在这个最终无标签 EDSL 中表达 Y-Combitor:
class Symantics exp where
lam :: (exp a -> exp b) -> exp (exp a -> exp b)
app :: exp (exp a -> exp b) -> exp a -> exp b
fix :: ...
fix f = .....
我不确定,但我认为 Y-Combinator 的默认实现应该可以使用“lam”和“app”。
有人知道怎么做吗?我的第一次尝试失败是因为“无法构造无限类型”的东西。
干杯,Günther