23 lines
531 B
Scala
23 lines
531 B
Scala
package tf.bug.fancadetagless
|
|
|
|
import cats._
|
|
import cats.implicits._
|
|
|
|
case class PointerChain[F[_]](internal: Map[Int, F[Int]])(implicit functor: Functor[F]) {
|
|
|
|
def ++(other: PointerChain[F]): PointerChain[F] = {
|
|
???
|
|
}
|
|
|
|
def map[B](f: ((Int, F[Int])) => B): Vector[B] = internal.map(f).toVector
|
|
|
|
}
|
|
|
|
object PointerChain {
|
|
|
|
def empty[F[_] : Functor]: PointerChain[F] = PointerChain(Map.empty)
|
|
|
|
def single[F[_] : Functor](value: F[Nothing]): PointerChain[F] = PointerChain(Map(0 -> value.widen))
|
|
|
|
}
|