Свързани въпроси 'existential-type'
Какво е екзистенциален тип?
Прочетох статията в Уикипедия Екзистенциални типове . Разбрах, че се наричат екзистенциални типове поради екзистенциалния оператор (∃). Не съм сигурен обаче какъв е смисълът от това. Каква е разликата между
T = ∃X { X a; int f(X); }
и...
28141 изгледи
schedule
27.10.2022
Екзистенциални типове и типови членове
Какво работи (част A)
Да предположим, че имам черта с параметър тип:
trait A[T]
Мога да използвам екзистенциален тип, за да напиша метод, който ще вземе колекция от A s, които всички имат едно и също T :
def foo(as: Seq[A[X]] forSome...
1841 изгледи
schedule
03.11.2022
Екзистенциали от по-висок вид без ковариантна анотация
Когато се опитвам да използвам екзистенциали от по-висок вид в Scala, се натъквам на следния проблем:
trait A[H[_]]
trait Test {
val l: A[List]
// [error] type mismatch;
// [error] found : A[List]
// [error] required: A[_[_] <:...
168 изгледи
schedule
21.11.2022
Могат ли GADT (или екзистенциали) без ограничения да бъдат компилирани толкова плътно, колкото нетипизирани обикновени ADT?
Да предположим, че имам ADT, като
data Foo = Foo !Int
| Bar (Int->Int) Foo
Сега кажете, че искам да наложа някакъв вид допълнителна безопасност на типа, като се отърва от „типа магическо число“:
{-# LANGUAGE GADTs #-}
newtype...
154 изгледи
schedule
02.12.2022
Екзистенциални типове в Scala
Моля, вижте по-долу кратък пример, който ме озадачава.
Трябва да призная, че имам известни затруднения да манипулирам екзистенциални типове в Scala.
Как трябва да реша реда 56 за несъответствие на типа? proposer е OK тип _$1, докато proposers е...
1344 изгледи
schedule
21.01.2024
Единични елементи, семейства от типове и екзистенциални типове за екземпляр на FromJSON
Вероятно е по-лесно първо да очертая накратко общия си проблем и след това да покажа къде съм заседнал.
Искам да получа списък с JSON на някакъв единично индексиран тип, където типът на индексиране също има свързано семейство типове. В код:...
434 изгледи
schedule
22.12.2023
Модел на торта Scala с екзистенциални типове: грешка при компилиране
Чрез този въпрос открих тази статия за шаблона „config“ от Precog. Опитах това с два модула:
case class Pet(val name: String)
trait ConfigComponent {
type Config
def config: Config
}
trait Vet {
def vaccinate(pet: Pet) = {...
168 изгледи
schedule
10.03.2024