blob: 35d260683b7f9132b9446f37b35a7340adf1129e (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
|
trait HOSeq {
trait Accumulator[+coll[x], elT]
trait Iterable[+t] {
type m[+x]
def accumulator[t]: Accumulator[m, t]
}
implicit def listAccumulator[elT]: Accumulator[List, elT] = new Accumulator[List, elT] {}
trait List[+t] extends Iterable[t] {
type m[+x] = List[x]
def accumulator[t]: Accumulator[List, t] = listAccumulator[t]
}
}
|