aboutsummaryrefslogtreecommitdiff
path: root/examples/src/main/scala/typeclasses.scala
diff options
context:
space:
mode:
Diffstat (limited to 'examples/src/main/scala/typeclasses.scala')
-rw-r--r--examples/src/main/scala/typeclasses.scala3
1 files changed, 2 insertions, 1 deletions
diff --git a/examples/src/main/scala/typeclasses.scala b/examples/src/main/scala/typeclasses.scala
index d3017e5..ed59eda 100644
--- a/examples/src/main/scala/typeclasses.scala
+++ b/examples/src/main/scala/typeclasses.scala
@@ -14,7 +14,7 @@ import scala.annotation.unchecked.uncheckedVariance
object Show {
def join[T](context: JoinContext[Show, T])(value: T): String = context.parameters.map { param =>
s"${param.label}=${param.typeclass.show(param.dereference(value))}"
- }.mkString(s"{", ",", "}")
+ }.mkString(s"${context.typeName.split("\\.").last}(", ",", ")")
def split[T](subclasses: List[Subclass[Show, T]])(value: T): String =
subclasses.map { sub => sub.cast.andThen { value =>
@@ -81,6 +81,7 @@ trait Decoder[T] { def decode(str: String): T }
sealed trait Tree
case class Leaf(value: String) extends Tree
case class Branch(left: Tree, right: Tree) extends Tree
+case object Bud extends Tree
sealed trait Entity