Свързани въпроси 'existential-type'

Какво е екзистенциален тип?
Прочетох статията в Уикипедия Екзистенциални типове . Разбрах, че се наричат ​​екзистенциални типове поради екзистенциалния оператор (∃). Не съм сигурен обаче какъв е смисълът от това. Каква е разликата между T = ∃X { X a; int f(X); } и...
28141 изгледи

Екзистенциални типове и типови членове
Какво работи (част A) Да предположим, че имам черта с параметър тип: trait A[T] Мога да използвам екзистенциален тип, за да напиша метод, който ще вземе колекция от A s, които всички имат едно и също T : def foo(as: Seq[A[X]] forSome...
1841 изгледи

Екзистенциали от по-висок вид без ковариантна анотация
Когато се опитвам да използвам екзистенциали от по-висок вид в Scala, се натъквам на следния проблем: trait A[H[_]] trait Test { val l: A[List] // [error] type mismatch; // [error] found : A[List] // [error] required: A[_[_] <:...
168 изгледи

Могат ли GADT (или екзистенциали) без ограничения да бъдат компилирани толкова плътно, колкото нетипизирани обикновени ADT?
Да предположим, че имам ADT, като data Foo = Foo !Int | Bar (Int->Int) Foo Сега кажете, че искам да наложа някакъв вид допълнителна безопасност на типа, като се отърва от „типа магическо число“: {-# LANGUAGE GADTs #-} newtype...
154 изгледи

Екзистенциални типове в Scala
Моля, вижте по-долу кратък пример, който ме озадачава. Трябва да призная, че имам известни затруднения да манипулирам екзистенциални типове в Scala. Как трябва да реша реда 56 за несъответствие на типа? proposer е OK тип _$1, докато proposers е...
1344 изгледи
schedule 21.01.2024

Единични елементи, семейства от типове и екзистенциални типове за екземпляр на FromJSON
Вероятно е по-лесно първо да очертая накратко общия си проблем и след това да покажа къде съм заседнал. Искам да получа списък с JSON на някакъв единично индексиран тип, където типът на индексиране също има свързано семейство типове. В код:...
434 изгледи

Модел на торта Scala с екзистенциални типове: грешка при компилиране
Чрез този въпрос открих тази статия за шаблона „config“ от Precog. Опитах това с два модула: case class Pet(val name: String) trait ConfigComponent { type Config def config: Config } trait Vet { def vaccinate(pet: Pet) = {...
168 изгледи