// Definición de una clase Functor en Scala
trait Functor[F[_]] {
def map[A, B](fa: F[A])(f: A => B): F[B]
}
// Implementación de Functor para List
implicit val listFunctor: Functor[List] = new Functor[List] {
def map[A, B](fa: List[A])(f: A => B): List[B] = fa.map(f)
}
// Uso del Functor
val numbers = List(1, 2, 3, 4)
val doubledNumbers = listFunctor.map(numbers)(_ * 2)
println(doubledNumbers) // Salida: List(2, 4, 6, 8)