相关疑难解决方法(0)

在翻译中使用monads有什么意义?

我最近发现了这个使用monads的名为Simple interpreter的scala示例:

object simpleInterpreter {

  case class M[A](value: A) {
    def bind[B](k: A => M[B]): M[B] =  k(value)
    def map[B](f: A => B): M[B] =  bind(x => unitM(f(x)))
    def flatMap[B](f: A => M[B]): M[B] = bind(f)
  }

  def unitM[A](a: A): M[A] = M(a)

  def showM(m: M[Value]): String = m.value.toString();

  type Name = String

  trait Term;
  case class Var(x: Name) extends Term
  case class Con(n: int) extends Term
  case class Add(l: Term, r: Term) extends Term …
Run Code Online (Sandbox Code Playgroud)

monads functional-programming scala

10
推荐指数
1
解决办法
1327
查看次数

标签 统计

functional-programming ×1

monads ×1

scala ×1