Вопросы по теме 'parametric-polymorphism'
Scala преобразует рекурсивно ограниченный параметр типа (F-ограниченный) в член типа
Как бы я преобразовал:
trait Foo[A <: Foo[A]]
члену типа?
То есть я хочу что-то вроде следующего:
trait Foo {
type A <: Foo {type A = ???}
}
но у меня возникают трудности, потому что имя A уже занято в уточнении типа....
456 просмотров
schedule
07.05.2022
Построение трехуровневых глубоких типов F-Bound
У меня есть три типа F-Bound A , B и C , где B параметризуется A , а C параметризуется B (и, следовательно, также A ). Я могу создать экземпляр A и B , но когда я пытаюсь создать экземпляр C , компилятор не может определить типы....
49 просмотров
schedule
06.12.2022
Зависимые типы/параметрический полиморфизм в Common Lisp?
Я хочу написать некоторый общий код, связанный с группами отражения, и поэтому мне нужно настроить некоторые типы, которые отражают математические структуры (векторное пространство, аффинное пространство,...). Поскольку я действительно хочу точно...
1430 просмотров
schedule
04.06.2022
В Идрисе я могу доказать бесплатные теоремы, например единственная (итоговая) функция типа `forall t. t - ›t` это` id`?
Для достаточно полиморфных типов параметричность может однозначно определять саму функцию (см. Теоремы Вадлера бесплатно! для подробностей). Например, единственная итоговая функция с типом forall t. t -> t - это функция идентичности id ....
306 просмотров
schedule
20.09.2022
Как преобразовать полиморфное значение в строку?
На самом деле я ищу функцию с такой подписью, как 'a -> string , которая преобразует данный полиморфный тип в строку. Я уже думал о чем-то вроде
let func elem = match elem with
| int -> string_of_int elem ...
Надеюсь, кто-нибудь может...
102 просмотров
schedule
05.03.2022
Приложение частичной функции Haskell с $
Я новичок в Haskell и смотрю на простой пример использования приложения-функции с $ .
Это кажется простым — он берет функцию и применяет ее к значению.
Так что это имеет смысл:
> (+3) $ 2
5
Это также имеет смысл:
> ($) (+3)...
116 просмотров
schedule
21.12.2022
Какова связь между рангом полиморфизма и (не)предикативностью?
Какова связь между рангом полиморфизма и (не)предикативностью?
Может ли полиморфизм ранга 1 быть предикативным или непредикативным?
Может ли полиморфизм ранга k с k > 1 быть либо предикативным, либо непредикативным?
Мои заблуждения...
383 просмотров
schedule
02.08.2023
Реализовать трейт для базового типа (с плавающей запятой)
Я хочу работать с кольцами, поэтому у меня есть черта RingOps , и я хочу, чтобы float была ее частью. Я думаю, что float реализует каждый супертип, поэтому было бы здорово получить его, но если нет, то как это сделать?
trait RingOps:...
104 просмотров
schedule
15.02.2023