Вопросы по теме 'singleton-type'

Невозможно доказать, что одноэлементные типы являются одноэлементными типами при создании экземпляра класса типов.
Предположим, у меня есть класс типов, который доказывает, что все типы в совместном произведении Shapeless являются одноэлементными типами: import shapeless._ trait AllSingletons[A, C <: Coproduct] { def values: List[A] } object...
3587 просмотров
schedule 09.09.2022

Использование идиоматического логического равенства (синглетоны)
Я хочу создать структуру данных для хранения элементов, помеченных на уровне типа, с помощью Symbol. Этот: data Store e (ss :: [Symbol]) where Nil :: Store e '[] Cons :: e s -> Store e ss -> Store e (s ': ss) data HasElem (a :: k) (as...
286 просмотров
schedule 04.03.2024

Scala: обобщать одноэлементные типы?
В Scala значения и объекты имеют отдельные типы, назначенные им индивидуально. Итак, мы можем иметь: val x = 1 type X = x.type val y = 2 type Y = y.type Могу ли я написать метод, который принимает только x в качестве аргумента? Я...
106 просмотров

Понимание реального кода шаблона торта с ссылками на себя и это
Недавно я узнал о шаблоне торта и различиях между использованием self => и self:T => (см. здесь ). отмечено различие между этими техническими особенностями и реальным кодом Scala. продолжают создавать мне проблемы. Например, см....
47 просмотров

Как (небезопасно) отразить карту как ограничение?
Мне нужен класс типов, представляющий принадлежность к овеществленному Data.Map.Map . Итак, что-то вроде: class Reifies s (Map Text v) => IsMember (x :: Symbol) s where value :: Proxy s -> Proxy x -> v И затем я хотел бы...
125 просмотров

Создавайте с использованием бесформенных универсальных экземпляров по умолчанию для классов case с параметрами, определяющими общий метод createValue.
Я пытаюсь достичь следующего - и использование shapeless кажется мне хорошим путем. Учитывая текущую модель класса: import shapeless._ object ShapelessTest { case class Definition[T](id: String) extends Typeable[T] { type V = Value[T]...
268 просмотров