Skip to content

Instantly share code, notes, and snippets.

View fommil's full-sized avatar
😽
having a fantastic day not writing any scala

>>= fommil

😽
having a fantastic day not writing any scala
View GitHub Profile
package shapely
import scala.annotation._
sealed trait Shape[A]
sealed trait CaseClass[A] extends Shape[A] { def value(i: Int): Any }
sealed trait SealedTrait[A] extends Shape[A] { def value: A ; def index: Int }
final case class CaseClass0[A]() extends CaseClass[A] { def tuple: Unit = () ; override def value(i: Int): Any = throw new IllegalArgumentException }
case object CaseClass0 { def untuple[A](): CaseClass0[A] = apply[A]() }