私はと読んでいます。例文でPurescriptを読んでいて、読者のモナドを紹介しています。この例は次のようになります。 createUser :: Reader Permissions (Maybe User)
createUser = do
permissions <- ask
if hasPermission "admin" permissions
then m
(HaskellのData.Setは、当然のことながら、モナドではないので、擬似Haskellのを使用して)次のように加えて非決定性を共有する環境のための標準的な「モナドのインスタンスが」です:一般 eta :: a -> r -> {a} -- '{a}' means the type of a set of a's
eta x = \r -> {x}
bind :: (r -> {a})
私はカテゴリ理論を学んでいます。私は読者のモナドの概念を理解 は、それが実装するのにも非常に簡単です: case class Reader[DEP, A](g: DEP => A) {
def apply(dep: DEP): A = g(dep)
def map[B](f: A => B): Reader[DEP, B] = Reader(dep => f(apply(de