scala/ScalaBook/chapter-12/src/main/scala/scalabook/ep/family/ooc/reprlang.scala

package scalabook.ep.ooc

/**
 * @author Christos KK Loverdos
 */

trait ReprLang extends BaseLang {
    type Data <: BaseD
    
    trait BaseD extends super.BaseD {
        def repr: String
    }

    class NumD(value: Int) extends super.NumD(value) with BaseD {
        def repr = value.toString
    }
}