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

A refinement type is a type endowed with a predicate which is assumed to hold for any element of the refined type. "Refined" are libraries in Scala and Haskell for refining types.
1 ответ

Как написать уточненное регулярное выражение типа в Scala для строки со значениями 1-9

У меня есть строковый литерал, который отправляется в метод. У метода есть типобезопасный параметр, который принимает строку. Типобезопасный параметр должен содержать a в качестве первой буквы, затем любое число, кроме нуля. Я написал matcher в изыс…
10 янв '19 в 09:41
1 ответ

Использование PureConfig с уточненным?

У меня есть следующий файл conf: connection.port = 8080 connection.interface = "127.0.0.1" Я пытаюсь использовать уточненный и уточненный pureconfig при чтении этого файла. У меня есть класс ниже: import com.api.models.{Config, Connection} import co…
05 ноя '18 в 13:53
0 ответов

Пользовательские типы, использующие pureconfig?

Я использую PureConfig с уточненным. У меня есть следующий класс дела: case class Config(port: ServerPort, interface: String) ServerPort - это пользовательский тип, который я определил с помощью Refined. Я использую pureconfig для загрузки файла con…
06 ноя '18 в 16:01
1 ответ

Используется уточнено для повторной попытки?

Используя уточненный, я попытался определить f: import eu.timepit.refined._ import eu.timepit.refined.api.Refined import eu.timepit.refined.auto._ import eu.timepit.refined.numeric._ // if action 'succeeds', return 'good'; otherwise re-try, subtract…
29 авг '17 в 10:43
2 ответа

Уточненные и экзистенциальные типы для значений времени выполнения

Предположим, я хочу отобразить между некоторыми строками и целочисленными идентификаторами, и я хочу, чтобы мои типы делали невозможным получение ошибки во время выполнения, потому что кто-то пытался найти идентификатор, который был вне диапазона. В…
0 ответов

Scala 2.11, улучшенный с помощью самых масштабных MustMatchers и Await, вызывает ошибку компилятора "при попытке выполнить lub/glb typevar?F[?T,?B]"

Я пытался использовать уточненный с скалярным и получаю ошибки компилятора на этапе "typer": trying to do lub/glb of typevar ?F[?T, ?B] Это моя лучшая попытка минималистического воспроизведения проблемы с использованием автономного сценария аммонита…
0 ответов

Как я могу определить A и B в зависимости от каждого другого типизированного класса, используя библиотеку refind?

Проблема: У меня есть кейс класса Пассажир, который начинается с пункта А и переходит в пункт Б. Действительный пассажир означает, что точка A не равна точке B. Passenger( a: Int, b: Int ) Вопрос: Как я могу создать класс Пассажира, используя библио…
18 ноя '18 в 10:16
0 ответов

Переопределить безопасный журнал конфигурации для использования в моем журнале регистрации

У меня есть проблема в моей конфигурации typeafe + logback config + refined types + pure config.Когда моя конфигурация не проверена, я получаю необработанное исключение без использования форматирования приложения logback например, мой логбэк выгляди…
21 фев '20 в 18:55
1 ответ

Сопоставление с образцом в scala Refined size

Я хочу предоставить схему json (во время компиляции) класса case на основе различных типов (включая уточненный Scala) object JsonSchema { def jsonSchema[T]: String = macro impl[T] def impl[T: c.WeakTypeTag](c: scala.reflect.macros.whitebox.Context):…
03 сен '19 в 10:33
1 ответ

Невозможно сгенерировать Circe Decoder при использовании с кошками и уточненными типами

Я написал этот код import io.circe._ import io.circe.refined._ import cats.data._ import cats.implicits._ import eu.timepit.refined.auto._ final case class Translation(lang: LanguageCode, name: ProductName) final case class Product(id: ProductId, na…
20 окт '19 в 22:17
2 ответа

Scala: как заставить преобразовать оператор в буквальный?

Я экспериментирую с усовершенствованной функцией типа scala, представленной в одной из его библиотек: https://github.com/fthomas/refined Следующий код представляет простой случай: import eu.timepit.refined.auto._ import shapeless.{Witness => W} t…
24 май '20 в 00:59
1 ответ

Как обеспечить безопасность типов с помощью библиотеки Scala Refined при использовании одного и того же предиката для уточнения

Я новичок в scala и доработанной библиотеке, но я пытаюсь создать два усовершенствованных типа на основе UUID. Для этого я сделал следующее (Примечание: Uuid в этом случае происходит от eu.timepit.refined.string.Uuid): type UuidPredicate = Uuid type…
25 июн '20 в 18:35
1 ответ

Усовершенствования типов в Scala, но без использования улучшенного

Я пытаюсь создать тип HexString на основе String, который должен удовлетворять условию "что он содержит только шестнадцатеричные цифры", и я хотел бы, чтобы компилятор проверил его тип, если это возможно. Одним из очевидных решений было бы использов…
1 ответ

Попытка сохранить типы развернутыми при использовании refined

Я пытаюсь использовать refined для создания интеллектуальных конструкторов на основе примитивов и избегать обертки, поскольку одни и те же типы могут использоваться в больших коллекциях. Я правильно это делаю? Кажется, работает, но немного непонятно…
07 ноя '19 в 23:09
1 ответ

Как преобразовать в изысканный шрифт?

Я использую библиотеку https://github.com/fthomas/refined и хочу преобразоватьjava.util.UUID к изысканным Uuid.Как конвертироватьjava.util.UUID к изысканным Uuid? Обновить У меня есть следующие http-маршруты: private val httpRoutes: HttpRoutes[F] = …
29 июн '20 в 22:09
1 ответ

декодер для улучшенного типа при использовании circe с Http4s

Я пытаюсь использовать уточненные типы для класса case, но не могу понять, как на самом деле будет работать кодировщик. Для разбора json используется circe с библиотекой https4s. type AgeT = Int Refined Interval.ClosedOpen[0,100] type NameT = String…
07 июн '20 в 16:35
1 ответ

Тип Singleton как член типа

Я пытаюсь определить член типа как одноэлементный тип. Вот моя попытка: import shapeless.syntax.singleton._ trait Test{ type Blocked <: Boolean } def f(t: Test{ type Blocked = false.narrow }) = ??? // does not compile def f(t: Test{ type Blocked …
23 мар '21 в 09:15
1 ответ

Применение проекции типа к уточненному типу

Рассмотрим следующий пример: trait T3 trait T2{ type TT4 type TT3 <: T3 } trait T1{ type TT2 <: T2 } теперь я хочу написать функцию, грубо говоря, выглядит как def test[T <: T1](t: T#TT2{type TT4 = Int}#TT3) = println(t) //invalid syntax ко…
29 мар '21 в 09:17
3 ответа

Класс значений Scala circe, производных Unwrapped, не работает для отсутствующего члена

Я пытаюсь декодировать класс значений String, в котором, если строка пуста, мне нужно получить None, иначе Some. У меня есть следующий пример сценария аммонита: import $ivy.`io.circe::circe-generic:0.13.0`, io.circe._, io.circe.generic.auto._, io.ci…
26 янв '21 в 10:25
1 ответ

Получение предиката из Refined

Можно ли извлечь границы из предиката/свидетеля уточненной переменной во время выполнения? Что-то вроде следующего. // Should return L as a Double def getLowerBound[L, H](v: Refined[Double, Interval.Closed[L, H]]): Double = ??? val v: Refined[Double…
17 мар '22 в 11:06