|
Scala example source code file (tcpoly_infer_ticket474.scala)
The Scala tcpoly_infer_ticket474.scala source codetrait Builder[C[_], T] { def +=(x: T) def finalise: C[T] } trait Buildable[C[_]] { def builder[T]: Builder[C,T] } object Test { implicit object buildableList extends Buildable[List] { def builder[T] = new Builder[List,T] { val buf = new scala.collection.mutable.ListBuffer[T] def +=(x: T) = buf += x def finalise = buf.toList } } def foo[C[_],T](x: T)(implicit b: Buildable[C]): C[T] = { val builder = b.builder[T] builder += x builder.finalise } val l: List[Int] = foo(8) } Other Scala examples (source code examples)Here is a short list of links related to this Scala tcpoly_infer_ticket474.scala source code file: |
... this post is sponsored by my books ... | |
#1 New Release! |
FP Best Seller |
Copyright 1998-2024 Alvin Alexander, alvinalexander.com
All Rights Reserved.
A percentage of advertising revenue from
pages under the /java/jwarehouse
URI on this website is
paid back to open source projects.