Описание тега 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.

В теории типов уточняющий тип - это тип, наделенный предикатом, который, как предполагается, выполняется для любого элемента уточненного типа. Связан с зависимыми типами.

В Scala уточненные типы - это такие типы, какtype A { type T = ... }. Связан с составными типами и структурными типами.

refined - это библиотека Scala для уточнения типов с помощью предикатов уровня типа, которые ограничивают набор значений, описываемых уточненным типом. Он начался как порт усовершенствованной библиотеки Haskell.