Resultados de la búsqueda a petición "shapeless"
¿Es el valor implícito ambiguo la única forma en que queremos que el error exista en tiempo de compilación?
trait Foo trait Bar extends Foo def doStuff[T <: Foo](x: T)(implicit ev: T =!:= Foo) = x doStuff(new Foo{}) //ambiguous implicit value doStuff(new Bar)// successfulLa resolución implícita está ocurriendo en el tiempo de compilación, por lo que ...
Sin forma: lente genérica parametrizada por clase de caso o campo
Residencia en: import shapeless._ case class Content(field: Int) lens[Content] >> 'fieldEstoy tratando de hacer un método de creación de lentes, algo así: def makeLens[T <: Product](s: Symbol) = lens[T] >> sPero parece no obvio. Es posible de ...
¿Cómo puedo usar Shapeless para crear una función que abstraiga sobre arity?
Consideremos un ejemplo específico. Tengo muchas funciones que toman un número variable de argumentos y devuelven unSeq[T]. Decir: def nonNeg(start: Int, count: Int): Seq[Int] = Iterator.from(start).take(count).toSeqPara cada una de esas ...
Parametrizar dinámicamente la función Poly1 sin forma
Tengo esta situación (despojada a las partes esenciales) class Foo[L <: HList](columns: L) { class toRecord(row: Row) extends Poly1 { implicit def caseColumn[T] = at[Column[T]] { /* map to a record field */ } } def asRecord = { val resultSet: ...
No se puede probar que los tipos singleton son tipos singleton mientras se genera una instancia de clase de tipo
Supongamos que tengo una clase de tipo que demuestra que todos los tipos en un coproducto sin forma son tipos únicos: import shapeless._ trait AllSingletons[A, C <: Coproduct] { def values: List[A] } object AllSingletons { implicit def ...
Mapear y reducir / doblar HList de scalaz. Validación
Empecé con algo como esto: def nonEmpty[A] = (msg: String) => (a: Option[A]) => a.toSuccess(msg) val postal: Option[String] = request.param("postal") val country: Option[String] = request.param("country") val params = (postal |> ...
¿Cómo requerir una matriz de tamaño constante typesafe en scala?
Necesito algo como esto: def encryptBlock(arr: FixedArray[Size16]) = ??? val blocks = arr.splitFixed[Size16] val encrypted = encryptBlock(FixedArray[Size16]()) Entonces, para asegurarme de que solo recibo una matriz de 128 bits como entrada.
Sin forma: convierta una clase de caso en otra con campos en diferente orden
Estoy pensando en hacer algo similar aCopiar campos de forma segura entre clases de casos de diferentes tipos [https://stackoverflow.com/questions/23192760/safely-copying-fields-between-case-classes-of-different-types] pero con campos ...
¿Cómo iterar todos los tipos de productos en un coproducto usando sin forma?
Digamos que tengo uncoproducto [https://github.com/milessabin/shapeless/wiki/Feature-overview:-shapeless-2.0.0#coproducts-and-discriminated-unions] (un rasgo sellado) como sealed trait Traity case object Foo extends Traity case class Bar() ...
Convertir clases de casos anidados en mapas anidados usando Shapeless
Estoy tratando de resolveresta [https://stackoverflow.com/questions/31528379/scala-macros-for-nested-case-classes-to-map-and-other-way-around] pregunta usando Shapeless, en resumen, se trata de convertir una clase de caso anidada a Map [String, ...