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

Как выразить этот тип в Scala? Экзистенциальный с ограничением класса типа (т. е. неявным)?
Я использую библиотеку JSON платформы Play, которая использует класс типов для реализации Json.toJson функция . (Я могу решить использовать другой метод с менее статической типизацией, такой как отражение, но сейчас я хочу использовать эту...
720 просмотров
schedule 29.12.2023

Общий «бестиповый» STack в Haskell
Мне нужно реализовать общий стек для того, над чем я работаю. Этот стек должен содержать элементы разных типов. Например, (1, 'c', True, "Strings"). Поддерживаемые функции: top, pop и push. Кортежи - самая естественная идея для этого. push x...
168 просмотров

Разрешение вызова функции в экзистенциальном типе
Прочитав эту страницу , посвященную экзистенциальным системам в Haskell, я был вынужден проверить пределы такого поведения, поэтому я написал следующий фрагмент кода: {-# LANGUAGE ExistentialQuantification #-} data Showable = forall a. Show a...
141 просмотров
schedule 21.04.2023

Могу ли я принудить экзистенциально квантифицированный аргумент в конструкторе типа?
У меня есть тип данных, чей (единственный) конструктор содержит экзистенциально квантифицированную переменную типа: data LogEvent = forall a . ToJSON a => LogEvent { logTimestamp :: Date , logEventCategory...
161 просмотров
schedule 02.07.2023

странная ошибка компиляции с экзистенциалами scala с ограниченным полиморфизмом f
Почему приведенный ниже код не компилируется? trait B[T <: B[T]] case class A[T <: B[T]](t: T) class C() extends B[C] val c: C = new C() val r2: A[_] = A(c) //compiles val r3: A[_] = A(c) //compiles...
127 просмотров

Развертывание экзистенциально квантифицированного GADT
У меня есть пользовательский тип значения Value , помеченный своим типом ValType : data ValType = Text | Bool data Value (tag :: ValType) where T :: Text -> Value 'Text B :: Bool -> Value 'Bool и я хотел бы определить функцию,...
138 просмотров

Data.Typeable.cast в экзистенциальный тип
Итак, это продолжение моей саги о системе объектов (часть 1 , часть 2 ). Эта часть по существу сводится к следующему. {-# LANGUAGE ExistentialQuantification #-} {-# LANGUAGE ConstraintKinds #-} {-# LANGUAGE KindSignatures #-} import...
115 просмотров

Возможна ли работа с элементами массива с разными типами объединения без ошибки не присваивается параметру типа 'никогда'?
type GenericElement<T> = { set: Setter<T>; state: T; } type Setter<T> = (state: T) => void type GenericElements = Array< GenericElement<string> | GenericElement<number>> const genericElements = [{...
36 просмотров