Описание тега shapeless

NoneShapeless is (an exploration of) a type class and dependent type based generic (aka polytypic/polymorphic) programming library for Scala.
1 ответ

Преобразование между классами дел с одинаковой структурой

У меня есть два идентичных случая классов, скажем case class JsonOutput( creationDate: ZonedDateTime, updateDate: ZonedDateTime, doctorName: String, patientName: String, userName: String ) а также case class DbOutput( creationDate: ZonedDateTime, up…
1 ответ

Не удалось найти неявное значение для параметра enc: CsvEncoder[Shape]

Я пытаюсь понять побочный продукт бесформенного и имею следующий пример, который не работает: import shapeless.{HList, ::, HNil} import shapeless.Generic import shapeless.{Coproduct, :+:, CNil, Inl, Inr} trait CsvEncoder[A] { def encode(value: A): L…
12 окт '17 в 09:39
1 ответ

Неоднозначные неявные значения при использовании HMap

HMap кажется идеальной структурой данных для моего варианта использования, однако я не могу заставить ее работать: case class Node[N](node: N) class ImplVal[K, V] implicit val iv1 = new ImplVal[Int, Node[Int]] implicit val iv2 = new ImplVal[Int, Nod…
23 фев '16 в 18:05
1 ответ

Ошибка запуска Shapeless в REPL

Имеются следующие файлы SBT: $cat shapeless_sandbox/build.sbt name := "shapeless sandbox" scalaVersion := "2.11.5" libraryDependencies ++= Seq( "com.chuusai" %% "shapeless" % "2.1.0-RC1" ) resolvers ++= Seq( Resolver.sonatypeRepo("releases"), Resolv…
29 янв '15 в 04:08
2 ответа

Как проанализировать общие поля класса дела с помощью анализатора опций scala?

У меня кейс-класс включает около 20 полей, все из которых являются примитивными типами. case class A( f1: String, f2: Int .....) и я должен анализировать эти поля все из командной строки (к сожалению). Я могу, но я действительно не хочу писать это 2…
11 авг '17 в 08:43
0 ответов

Отображение по HList вызывает AbstractMethodError

Я пытаюсь shapeless Пример в REPL и получение ошибки времени выполнения: scala> import shapeless._ import shapeless._ scala> import shapeless.poly._ import shapeless.poly._ scala> object choose extends (Set ~> Option) { | def apply[T](se…
2 ответа

Как получить карту имен полей с типами полей класса case с бесформенным

Я просмотрел почти все учебные пособия и у меня на столе есть "Астронавты типов", но я до сих пор не могу понять, как написать фрагмент кода, который может извлекать карту имен для типов, используя бесформенный класс case. Чтобы быть точным, я после…
22 ноя '18 в 02:09
1 ответ

Взяв HList из Seq[_] и сгенерировав Seq[HList] с декартовым произведением значений

Я новичок в Shapless. Я пытаюсь написать функцию, которая бы HList последовательности различных типов, преобразовать его в Seq[HList] содержащий декартово произведение оригинала HListи перебрать полученную последовательность Например: val input = Se…
21 апр '18 в 14:38
1 ответ

Бесформенные линзы странного поведения

Я пытаюсь преобразовать свой класс дела в последовательность, содержащую линзу для каждого поля. Я создал следующий упрощенный пример, чтобы выделить проблему, с которой я столкнулся. Следующий код выдаст ошибку времени выполнения: import shapeless.…
16 апр '18 в 11:36
1 ответ

Как преобразовать класс case в HList, чем модифицировать, чем снова создать класс case с помощью бесформенного?

Здравствуйте, я новичок в бесформенном, я хочу создать Hlist из класса case, чем модифицировать поля, чем снова создать класс case, это возможно с помощью shapeless: val user:RfModelCalibration = users.head val transformer = Generic[RfModelCalibrati…
06 дек '17 в 13:20
1 ответ

Возможность проверки на исчерпывающую совместимость макропрограммированных типов

Я написал макрос, который генерирует ADT, и хотел бы иметь возможность написать тест, доказывающий, что я сделал это таким образом, который позволяет выполнять проверку исчерпанности. Обе спецификации2 (через typecheck) и Shapeless (через illTyped) …
11 фев '16 в 01:10
0 ответов

Добавьте дополнительное поле к экземпляру EncodeJson на argonaut-shapeles

Есть ли способ указать дополнительное поле, которое добавляется в автоматически сгенерированный кодировщик класса дел? Поле будет полем типа типа суммы, частью которого является класс case, поэтому он генерирует действительный json даже в том случае…
19 май '16 в 08:53
1 ответ

Бесформенный плоский список HList с опцией, дающий HList

Учитывая следующее case class A(value:Int) case class B(value:String) val h:Option[A] :: A :: Option[B] :: Option[A] :: HNil = Some(A(1)) :: A(2) :: Some(B("two")) :: (None:Option[B]) :: HNil Как я могу получить следующее? A(1) :: A(2) :: B("two") :…
10 апр '15 в 16:24
1 ответ

Тушить костер Артерии с помощью Shapeless?

У меня есть ситуация, когда я хочу абстрагироваться над арностью и установить соглашение о типе между одним или несколькими "необработанными" типами (A а также B ниже), метод, который должен вернуть соответствующий Seq(Option[A], Option[B], ...) из …
18 ноя '14 в 01:05
1 ответ

Преобразование scodec variableSizePrefixBytes

У меня есть случай использования, когда заголовок может содержать 7 байтов плюс необязательный 0-15 байт информации, где информация о размере находится в младших 4 битах 5-го байта, поэтому формат: 4 bytes | 4 bits | 4 bits <- length of extra byt…
05 янв '16 в 16:10
1 ответ

Устранение неполадок, связанных с аргументами функции для обработки списка дисков с использованием Shapeless

Следующий гист имеет код для идеи, с которой я играю package com.test1 import scala.language.implicitConversions import shapeless._ import FromTraversable._ import Traversables._ import Nat._ import Tuples._ trait ToArity[P, N <: Nat] object ToAr…
17 дек '12 в 01:05
2 ответа

Получить ключ поля как Coproduct

import shapeless._ import syntax.singleton._ val book = ("author" ->> "Benjamin Pierce") :: ("title" ->> "Types and Programming Languages") :: ("id" ->> "foo") :: ("price" ->> "bar") :: HNil Я хочу найти ключ поля, который от…
29 апр '16 в 16:51
1 ответ

Извлечь значения метки из экземпляра LabelledGeneric

Рассмотрим следующий пример: import shapeless._ case class Foo(bar: String, baz: Boolean) val labl = LabelledGeneric[Foo] Теперь тип labl есть (предварительно) LabelledGeneric[Foo] { type Repr = FieldType[Symbol @@ String("bar"), String] :: FieldTyp…
11 дек '14 в 23:24
1 ответ

Есть ли в бесформенной инфраструктуре, которая переносит конструктор типов в силу Nat?

Для меня это выглядит как базовый функционал, но я не могу найти его в текущем бесформенном (2.3.3). Поэтому я ищу тип Induction[X,F[_],N <: Nat] с Induction[X,F,Nat._0].Out =:= X Induction[X,F,Nat._1].Out =:= F[X] Induction[X,F,Nat._2].Out =:= F…
23 фев '17 в 08:36
1 ответ

Бесконечная рекурсия с Shapeless select[U]

У меня была отличная идея (ну, это спорный вопрос, но, скажем, у меня была идея) для создания инъекции неявную зависимость проще в Scala. У меня проблема в том, что если вы вызываете какие-либо методы, требующие неявной зависимости, вы также должны …
02 июл '15 в 05:40