このFinally Tagless 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 = .....
確かではありませんが、「lam」と「app」を使用して Y-Combinator のデフォルトの実装が可能になるはずです。
誰でも方法を知っていますか?「無限型を構築できない」という理由で、最初の試みは失敗します。
乾杯、ギュンター