Вопросы по теме 'type-constructor'
OCaml — конструктор несвязанных типов
Я новичок в OCaml и не понимаю систему модулей в Ocaml.
module type Queue =
sig
type element
type queue
val enq: queue * element -> queue
end
module StringQ : Queue with type element = string =...
2312 просмотров
schedule
01.05.2022
Класс случая Scala: создание экземпляров для случаев конструктора типов?
Я хочу использовать общую функцию, которая возвращает «значение по умолчанию» для данного типа. Я реализовал это с помощью следующей конструкции класса case:
case class DefaultOp[T](op: () => T)
implicit val defaultString =...
60 просмотров
schedule
22.05.2023
Понимание типовой проекции
Взято из typelevel/kind-projector , в чем разница между:
// partially-applied type named "IntOrA"
type IntOrA[A] = Either[Int, A]
и
// type projection implementing the same type anonymously (without a name).
({type L[A] = Either[Int,...
112 просмотров
schedule
29.08.2022
Рекурсивный тип Scala и реализация конструктора типов
У меня есть ситуация, когда мне нужен метод, который может принимать типы:
Array[Int]
Array[Array[Int]]
Array[Array[Array[Int]]]
Array[Array[Array[Array[Int]]]]
etc...
давайте назовем этот тип RAI для «рекурсивного массива целых чисел»...
513 просмотров
schedule
18.09.2022
Способна ли scala выводить члены абстрактного типа конструктора типов?
Я пытаюсь извлечь члены абстрактного типа из неявных параметров (а-ля Shapeless), например
trait F[T] { type Out }
object F {
type Aux[T, out] = F[T] { type Out = out }
}
def glhf[t, out](implicit f: F.Aux[t, out]): out = ???
Это...
242 просмотров
schedule
01.12.2022
Тип данных с ограничением типа в Wadler - статья Суть функционального программирования,
В статье Фила Уодлера «Сущность функционального программирования» Уодлер описывает применение монад с помощью простой программы-интерпретатора. Программа показана ниже:
Терм — это переменная, константа, сумма, лямбда-выражение или приложение....
113 просмотров
schedule
20.09.2023
Какая спецификация GHC/Haskell говорит, что конструкторы свободных типов соответствуют самым правым типам?
Недавно меня застали врасплох, когда я попытался передать конструктор для типа типа * -> * -> * с одним привязанным типом var функции, ожидающей конструктор для * -> * . Конкретно, это было похоже на передачу (\x -> (x, 42)) ::...
54 просмотров
schedule
28.10.2022