0

さまざまなクラスの副作用関数を作成したいので、一部の副作用を他のものよりも安全であるとマークできます。

副作用モナドにnewtypeを作成し、それをdo記法で使用したいので、次のように宣言します。Fay

{-# LANGUAGE GeneralizedNewtypeDeriving #-}
{-# LANGUAGE PackageImports #-}
import "base" Control.Monad
newtype ReadFay a = ReadFay { readFay :: Fay a } deriving Monad

この時点で、コンパイラはbaseパッケージを見つけることができません。どうにかしてそれを行うことは可能ですか?

>>=returnなどの独自のバージョンを のために作成することはできますがReadFay、それをdo記法で使用できると便利です。

または、この私のアプローチよりも異なるクラスの副作用を作成する方法はありますか?

4

1 に答える 1