我有两个值,t1和t2,类型为Either String Type。-valueLeft用于错误处理。这些值在返回的函数中使用Either String Type。
我想要做的是检查两者是否t1和t2都是Right-values 和满足p :: Type -> Bool。如果他们这样做,我想返回Right (the type inside t1)。如果t1和t2都是Right- 值,但不满足p,我想返回Left someString。如果其中一个t1ort2是一个Left值,我只想传递该值。
我怎样才能以优雅的方式做到这一点?我有一种预感,使用 Either 作为 monad 是正确的做法,但我不确定如何去做。