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

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 ...

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 ...

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

Resolución implícita de parámetros para tipos superiores

Considere el siguiente código: object foo { trait Bar[Q[_]] implicit object OptionBar extends Bar[Option] def test[T, C[_]](c: C[T])(implicit bar: Bar[C]) = () def main(args: Array[String]) { test(Some(42): Option[Int]) //??? } }Esto funciona, ...

2 la respuesta

Tipos de tipo superior con C ++

Esta pregunta es para las personas que conocen tanto Haskell (o cualquier otro lenguaje funcional que admita tipos de tipo superior) como C ++ ... ¿Es posible modelar tipos superiores con plantillas C ++? ¿Si es así, ...

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 ...

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 ...

3 la respuesta

¿Cuáles son los usos de los tipos polimórficos?

Los tipos polimórficos son una extensión del sistema de tipos de Haskell, soportado [http://www.cs.uu.nl/wiki/bin/view/Ehc/UhcUserDocumentation#3_5_Kind_inference_and_signature] por UHC, permitiendo data A x y = A (y x)ser mecanografiado ...

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] { ...

1 la respuesta

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