Вопросы по теме 'higher-kinded-types'

Дженерики высшего порядка в Java
Предположим, у меня есть следующий класс: public class FixExpr { Expr<FixExpr> in; } Теперь я хочу представить общий аргумент, абстрагируясь от использования Expr: public class Fix<F> { F<Fix<F>> in; } Но...
5447 просмотров

Параметризация типов целыми числами в Haskell
Я пытаюсь создать некоторые типы Haskell, которые параметризованы не типами, а элементами типа, в частности, целыми числами. Например, вектор (линейной алгебры) в R^2 и вектор в R^3 являются объектами разных типов. В частности, я пишу KD-дерево в...
408 просмотров

Сопоставление с образцом для продвигаемых типов
Мы можем написать отдельные комплексные экземпляры для параметров типа * : class MyClass d where f :: d -> Int instance MyClass (Maybe d) where f _ = 3 test1 :: Maybe d -> Int test1 x = f x Это компилируется просто отлично,...
370 просмотров

Экзистенциалы высшего порядка без ковариантной аннотации
При попытке использовать экзистенциалы более высокого порядка в Scala я столкнулся со следующей проблемой: trait A[H[_]] trait Test { val l: A[List] // [error] type mismatch; // [error] found : A[List] // [error] required: A[_[_] <:...
168 просмотров

Использование Type.Equality с PolyKinds
Этот код компиляции представляет собой свернутый пример этого кода из ответа на эта проблема с syntactic-2.0. Я также использую определение sameModType , полученное из sameNat в Data.Type.Equality. Я использовал это решение без проблем,...
428 просмотров
schedule 06.11.2023

Перегрузка конструктора типов типами более высокого порядка и доступ к параметру конструктора типов
У меня есть метод без параметров значения, который я хочу перегрузить другим методом, использующим конструктор более высокого типа. Я также хочу использовать параметр конструктора типа в теле метода. Я также хочу захватить тег класса. Это то, что я...
73 просмотров

Для чего используются FromJSON1 и ToJSON1 в aeson?
Aeson предоставляет FromJSON1 и Классы типов ToJSON1 . Они аналогичны Eq1 и Show1 классы, определенные в Data.Functor.Classes модуль. Мое понимание классов Eq1 и Show1 заключается в том, что они необходимы, чтобы иметь...
258 просмотров

Типы более высокого порядка как параметры типа
У меня есть общий запечатанный класс, используемый для представления либо отдельных значений, либо пар значений (разделенных до и после определенного события): sealed class Splittable<T> data class Single<T>(val single: T) :...
748 просмотров
schedule 19.12.2023