Resultados de la búsqueda a petición "higher-kinded-types"

1 la respuesta

¿Qué tipos de problemas ayudan a resolver mejor el "polimorfismo de tipo superior"?

Mientras leo algunas secciones enHistoria de Haskell [https://www.microsoft.com/en-us/research/wp-content/uploads/2016/07/history.pdf] , Me encontré con: Sin embargo, el polimorfismo de tipo superior tiene una utilidad independiente: es ...

2 la respuesta

Scala mayor varianza de tipo kinded

Estoy sumergiendo los dedos de los pies en tipos más altos, explorando un ejemplo muy básico de Scala: trait Mappable[F[_]] { def map[A, B](fa: F[A])(f: A => B): F[B] } object Mappable { implicit object MappableOption extends Mappable[Option] { ...

2 la respuesta

Estructura genérica sobre un tipo genérico sin parámetro de tipo

¿Es posible hacer algo así en Rust? trait Foo<T> {} struct A; struct B; struct Bar<T: Foo> { a: T<A>, b: T<B> }Sé que podría usar dos parámetros paraBar, pero creo que tiene que haber una mejor manera de hacer esto. Quiero implementar unGraph ...

2 la respuesta

En Haskell, ¿son los "tipos de tipo superior" * realmente * tipos? ¿O simplemente denotan colecciones de tipos * concretos * y nada más?

Funciones paramétricamente polimórficasConsidere la siguiente función: f :: a -> Int f x = (1 :: Int)Podríamos decir que el tipo def esa -> Int, y esof por lo tanto es de tipo "polimórfico". ¿Cuál de las siguientes es la forma más precisa de ...

1 la respuesta

La escala de tipos más altos en def implícito falla con "no se pudo encontrar el valor implícito"

Estoy usando def implícito para construir un recursivoHList tipo, para que coincida con varios tipos de tipos más altos deHList. Estoy muy inspirado por esta publicación [http://jnordenberg.blogspot.fr/2008/08/hlist-in-scala.html]. Este código ...

2 la respuesta

Especificar un concepto para un tipo que tiene una plantilla de función miembro usando Concepts Lite

Estoy tratando de especificar un concepto para restringir un tipo de tipo superior que tiene una plantilla de función miembro usando Concepts Lite. Sin embargo, no puedo encontrar dentro delespecificación ...

1 la respuesta

Usar límites de contexto "negativamente" para garantizar que la instancia de clase de tipo esté ausente del ámbito

2 la respuesta

¿Cuáles son las limitaciones en la inferencia de tipos de clase superior en Scala?

En el siguiente código de ejemplo simplificado:

2 la respuesta

l tipo extraño no coincide cuando se usa el acceso de miembro en lugar del extractor

Dado una tupla con elementos de tipoA y otro tipo parametrizado enA: trait Writer[-A] { def write(a: A): Unit } case class Write[A](value: A, writer: Writer[A]) Y un sitio de uso: trait Cache { def store[A](value: A, writer: Writer[A]): Unit ...

4 la respuesta

Es posible "curry" tipos más amables en Scala?

Supongamos que tengo un rasgo con dos parámetros de tipo, por ejemplo, trait Qux[A, B] y otro rasgo con un parámetro de tipo de tipo superior, por ejemplo, trait Turkle[C[_]] Me gustaría poder sustituir un valor fijo por uno de los parámetros ...