Skip to content

Commit

Permalink
Step 3: Ass syntax for Combinator
Browse files Browse the repository at this point in the history
  • Loading branch information
rafaparadela committed Nov 25, 2018
1 parent b81c78d commit 1976311
Show file tree
Hide file tree
Showing 2 changed files with 8 additions and 1 deletion.
2 changes: 1 addition & 1 deletion src/main/scala/training/Program.scala
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ object Program extends App {
val b1: Maybe[Int] = getBalanceBank1
val b2: Maybe[Int] = getBalanceBank2

maybeCombinator.combine(b1, b2)
b1.combine(b2)
}


Expand Down
7 changes: 7 additions & 0 deletions src/main/scala/training/implicits.scala
Original file line number Diff line number Diff line change
Expand Up @@ -10,4 +10,11 @@ object implicits {

implicit def maybeCombinator[A](implicit CA: Combinator[A]): Combinator[Maybe[A]] = new MaybeCombinator[A]


//Syntax

implicit class CombinatorSyntax[A](self: Maybe[A]) {
def combine(other: Maybe[A])(implicit ev: Combinator[Maybe[A]]): Maybe[A] = ev.combine(self, other)
}

}

0 comments on commit 1976311

Please sign in to comment.