Resultados da pesquisa a pedido "shapeless"
O valor implícito ambíguo é a única maneira pela qual queremos que o erro exista no tempo de compilação
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)// successfulA resolução implícita está acontecendo no tempo de compilação, então aqui eu acho ...
Como posso usar Shapeless para criar uma função abstraindo sobre arity
Vamos considerar um exemplo específico. Eu tenho muitas funções que recebem um número variável de argumentos e retornam umSeq[T]. Dizer: def nonNeg(start: Int, count: Int): Seq[Int] = Iterator.from(start).take(count).toSeqPara cada uma dessas ...
Parametrize dinamicamente a função Poly1 em formato
Eu tenho essa situação (despojado das partes essenciais) 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: ...
Não é possível provar que tipos singleton são tipos singleton enquanto gera instância de classe de tipo
Suponha que eu tenha uma classe de tipo que prove que todos os tipos em um coproduto Shapeless são tipos singleton: import shapeless._ trait AllSingletons[A, C <: Coproduct] { def values: List[A] } object AllSingletons { implicit def ...
Comportamento estranho ao tentar converter classes de casos em listas heterogêneas recursivamente com Shapeless
Fiquei acordado até muito tarde na noite passada, tentando descobrir esse problema informe e tenho medo de que vá comer minha noite se eu não tirar do peito, então aqui vai. Nesta versão minimizada, estou apenas definindo uma classe de tipo ...
Mapeie e reduza / dobre a HList do scalaz.Validation
Comecei com algo assim: 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 |> ...
Como exigir uma matriz de tamanho constante typesafe no scala?
Eu preciso de algo assim: def encryptBlock(arr: FixedArray[Size16]) = ??? val blocks = arr.splitFixed[Size16] val encrypted = encryptBlock(FixedArray[Size16]()) Portanto, para ter certeza de que recebo apenas uma matriz de 128 bits como entrada.
Sem forma - transforme uma classe de caso em outra com campos em ordem diferente
Estou pensando em fazer algo parecido comCopiar campos com segurança entre classes de casos de diferentes tipos [https://stackoverflow.com/questions/23192760/safely-copying-fields-between-case-classes-of-different-types] mas com campos ...
Como iterar todos os tipos de produtos em um coproduto usando informe?
Digamos que eu tenho umcoproduto [https://github.com/milessabin/shapeless/wiki/Feature-overview:-shapeless-2.0.0#coproducts-and-discriminated-unions] (uma característica selada), como sealed trait Traity case object Foo extends Traity case class ...
Convertendo Map [String, Any] em uma classe de caso usando Shapeless
A questãoaqui [https://stackoverflow.com/questions/31633563/converting-nested-case-classes-to-nested-maps-using-shapeless] pergunta sobre o mapeamento de uma classe de caso para um Map [String, Any]. Eu queria saber o que seria o contrário, ...