Hyperfunctions

hackage.haskell.org/package/hy

newtype Hyper a b = Hyper (Hyper b a -> b)

これにはReaderモナドの類似物 Monad (Hyper a) がある。

pure :: b -> Hyper a b
join :: Hyper a (Hyper a b) -> Hyper a b

では、Contモナドの類似物

pureC :: a -> Hyper (Hyper a r) r
joinC :: Hyper (Hyper (Hyper (Hyper a r) r) r) r -> Hyper (Hyper a r) r

は定義できるだろうか?

フォロー

と、いうことを今考えています。因みに答えはわかりません!

ログインして会話に参加
Fedibird

様々な目的に使える、日本の汎用マストドンサーバーです。安定した利用環境と、多数の独自機能を提供しています。