System.Random.MWC.Monadから Rand モナドを使用して無限の数のストリームを生成したいと思います。このモナドの MonadFix インスタンス、または次のようなインスタンスがある場合のみ:
instance (PrimMonad m) => MonadFix m where
...
次に、次のように書くことができます。
runWithSystemRandom (mfix (\ xs -> uniform >>= \x -> return (x:xs)))
しかし、1つもありません。
私はMonadFix のドキュメントを調べていましたが、このインスタンスを実装する明確な方法がわかりません。