Вопросы по теме 'higher-kinded-types'
Дженерики высшего порядка в Java
Предположим, у меня есть следующий класс:
public class FixExpr {
Expr<FixExpr> in;
}
Теперь я хочу представить общий аргумент, абстрагируясь от использования Expr:
public class Fix<F> {
F<Fix<F>> in;
}
Но...
5447 просмотров
schedule
12.03.2024
Параметризация типов целыми числами в Haskell
Я пытаюсь создать некоторые типы Haskell, которые параметризованы не типами, а элементами типа, в частности, целыми числами. Например, вектор (линейной алгебры) в R^2 и вектор в R^3 являются объектами разных типов. В частности, я пишу KD-дерево в...
408 просмотров
schedule
12.01.2024
Сопоставление с образцом для продвигаемых типов
Мы можем написать отдельные комплексные экземпляры для параметров типа * :
class MyClass d where
f :: d -> Int
instance MyClass (Maybe d) where
f _ = 3
test1 :: Maybe d -> Int
test1 x = f x
Это компилируется просто отлично,...
370 просмотров
schedule
30.10.2023
Экзистенциалы высшего порядка без ковариантной аннотации
При попытке использовать экзистенциалы более высокого порядка в 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
Использование Type.Equality с PolyKinds
Этот код компиляции представляет собой свернутый пример этого кода из ответа на эта проблема с syntactic-2.0. Я также использую определение sameModType , полученное из sameNat в Data.Type.Equality.
Я использовал это решение без проблем,...
428 просмотров
schedule
06.11.2023
Перегрузка конструктора типов типами более высокого порядка и доступ к параметру конструктора типов
У меня есть метод без параметров значения, который я хочу перегрузить другим методом, использующим конструктор более высокого типа. Я также хочу использовать параметр конструктора типа в теле метода. Я также хочу захватить тег класса. Это то, что я...
73 просмотров
schedule
08.04.2024
Для чего используются FromJSON1 и ToJSON1 в aeson?
Aeson предоставляет FromJSON1 и Классы типов ToJSON1 . Они аналогичны Eq1 и Show1 классы, определенные в Data.Functor.Classes модуль.
Мое понимание классов Eq1 и Show1 заключается в том, что они необходимы, чтобы иметь...
258 просмотров
schedule
08.11.2022
Типы более высокого порядка как параметры типа
У меня есть общий запечатанный класс, используемый для представления либо отдельных значений, либо пар значений (разделенных до и после определенного события):
sealed class Splittable<T>
data class Single<T>(val single: T) :...
748 просмотров
schedule
19.12.2023