Вопросы по теме 'shapeless'
Типовой класс для объединения несвязанных случаев отказа в моих дизъюнкциях Scalaz
У меня есть понимание дизъюнкций Scalaz. Левые типы на них могут быть разными типами классов ошибок из других библиотек. Например, один случай сбоя может быть связан с тайм-аутом HTTP, а другой может представлять собой ошибку синтаксического анализа...
96 просмотров
schedule
15.01.2024
Использование включения параметров универсального типа во вложенные полиморфные значения
Можно ли переписать следующий пример, используя только полиморфные функции без TypeTags? Пример состоит из класса A[T] , который имеет метод matches , возвращающий true при применении к экземпляру A с параметром того же типа T и false , если...
347 просмотров
schedule
07.05.2024
Shapeless HList map после сгибаRight
Уровень типа foldRight работает нормально (getLabelWithValues), а последующий уровень типа map (getValues) также работает нормально. Если я объединю оба в одном методе (getValuesFull), он больше не будет работать. Что недостает?
Полный...
240 просмотров
schedule
29.03.2024
Типы Scala и компиляция
Я использовал бесформенные теги и написал код, похожий на этот:
import shapeless.tag
import shapeless.tag.@@
object Typeplay {
trait StringTrait
type MyString = String @@ StringTrait
case class StringClass(mps: MyString)
val stringClass...
142 просмотров
schedule
28.11.2022
Scala: копирование общего класса case в другой
У меня есть следующая настройка, где я хочу скопировать экземпляр baseData в экземпляр moreData :
sealed trait baseData {
def weight: Int
def priority: Int
}
sealed trait moreData {
def weight: Int
def priority: Int
def t: String...
954 просмотров
schedule
01.11.2023
Преобразование класса case в другой рекурсивно структурно идентичный класс case
Я пытаюсь использовать Shapeless для преобразования класса case следующим образом:
case class A(int: Int, str: String)
case class B(a: A, str: String)
case class AnotherA(int: Int, str: String)
case class AnotherB(a: AnotherA, str: String)...
220 просмотров
schedule
30.12.2023
Сумма двух HList одинакового размера во время компиляции?
Учитывая следующую попытку получения рекурсивной суммы двух HList , показанную ниже:
(Пожалуйста, извините за Product в его названии.)
package net
import shapeless._
import shapeless.nat._
import shapeless.ops.nat.{Sum, Prod, Mod}
trait...
85 просмотров
schedule
20.09.2022
Переопределение параметра Shapeless HList
У меня есть абстрактный класс с методом, который получает HList в качестве параметра ( A ). Однако в подклассах я хотел бы ограничить точные типы этого HList ( B )
Приведенный ниже код не работает (он не рассматривает (Int :: String :: HNil) как...
80 просмотров
schedule
31.10.2023
Тегированный тип против класса расширяет AnyVal
Чтобы повысить безопасность типов, мы можем либо использовать тегированный тип, предоставляемый shapeless , либо создать класс, который расширяет AnyVal . Каковы различия и преимущества/недостатки использования одного над другим?
Пример:...
898 просмотров
schedule
11.11.2023
Как проще всего объединить 2 бесформенные функции (replaceAt и at)?
Может быть, кто-то может помочь мне с бесформенным? Я новичок в этом.
Моя конкретная задача - создать функцию, которая преобразует данный элемент кортежа в Option. Например:
val inp: (String, Int) = ("zzz", 5)
myfunc(inp, 1)
должен...
111 просмотров
schedule
20.12.2023
play-json на AST с параметрами типа
Я пытаюсь создать чтение и запись play-json для AST, который в основном выглядит так
abstract sealed trait Rule[A] {
def roomId: Option[Long] = None
def valid(in: A): Boolean
}
abstract sealed trait ValueRule[A, B] extends Rule[A] {...
710 просмотров
schedule
09.11.2023
Собирайте экземпляры через LiftAll
Я пытаюсь описать типы, которые содержит класс case.
import shapeless._
import shapeless.ops.hlist.LiftAll
trait Desc[T] {
def description: String
}
case class Foo(f: Int)
object Foo {
implicit val description: Desc[Foo] = new Desc[Foo] {...
161 просмотров
schedule
03.11.2022
как использовать shapeless для определения аннотации типа поля
Я пытаюсь собрать поля класса case, которые имеют определенные аннотации во время компиляции, используя shapeless . Я попытался поиграть со следующим фрагментом, но это не сработало, как ожидалось (ничего не выводилось вместо печати «i»). Как я...
722 просмотров
schedule
30.09.2022
pureconfig не может получить класс case со многими атрибутами
Я не могу получить класс case со многими атрибутами. Как ни странно, вывод варьируется между SBT и gradle. Минимальный воспроизводимый пример находится по адресу https://github.com/geoHeil/pureconfig-issue , также код указан ниже:
сбт
sbt...
562 просмотров
schedule
17.10.2022
Как использовать shapeless для преобразования универсального Map[String, Any] в класс case внутри универсальной функции?
Я пытаюсь найти ответ здесь https://stackoverflow.com/a/31641779/1586965
То есть я хочу иметь возможность конвертировать (потенциально вложенный) Map[String, Any] в класс case.
scalaVersion := "2.11.8"
val shapelessV = "2.3.3"
Если я...
467 просмотров
schedule
24.09.2022
Можно ли в scala shapeless использовать буквальный тип в качестве параметра универсального типа?
Предполагая, что я пишу программу для умножения векторов. Следуя требованиям этой статьи:
https://etrain.github.io/2015/05/28/type-safe-linear-algebra-in-scala
Умножение должно успешно скомпилироваться только в том случае, если размерности...
271 просмотров
schedule
25.10.2022
Автоматически передавать HList в запись
Моя цель — автоматически переводить HList в Record по требованию.
Обратите внимание, что приведенный ниже код написан на Scala 2.13 и использует одноэлементные типы вместо Symbol s.
import shapeless._
import shapeless.record._
import...
67 просмотров
schedule
20.02.2024
Как определить тип HList, но на основе другого типа HList
Предположим, у меня есть класс case:
case class Foo(num: Int, str: String, bool: Boolean)
Теперь у меня также есть простая оболочка:
sealed trait Wrapper[T]
case class Wrapped[T](value: T) extends Wrapper[T]
(и некоторые другие...
65 просмотров
schedule
03.11.2023
Shapeless: извлечь значение поля case case, параметризованное аннотацией
Я пытаюсь создать класс типов для возврата значения поля класса case, которое имеет определенную аннотацию во время компиляции, используя shapeless.
Это дает класс случая аннотации Scala и общий класс случая, класс типов Identity[T] должен...
80 просмотров
schedule
18.01.2024