Вопросы по теме 'parametric-polymorphism'

Полиморфный возвращаемый тип
Функция считывает ID из потока байтов. Он знает размер id — может быть 4 или 8 байт. Как сделать возвращаемый тип полиморфным? (Псевдокод :) class (Integral a) => IdSize a where size :: a -> Int instance IdSize Int32 ......
419 просмотров
schedule 10.12.2023

Введите подписи, которые никогда не имеют смысла
Рассмотреть возможность (a->a) -> [a] -> Bool Есть ли какое-либо значимое определение для этой подписи? То есть определение, которое не просто игнорирует аргумент? x -> [a] -> Bool Кажется, таких сигнатур много,...
276 просмотров

Почему эта реализация недействительна?
Допустим, у меня есть следующая подпись типа: someFunction :: (Eq a, Eq b) => a -> b С реализацией: someFunction x = (2 :: Int) (Не заглядывайте слишком далеко, это просто пример). Мое понимание подписи заключается в том,...
94 просмотров

Coq: могу ли я использовать аргумент типа в качестве типа последовательного аргумента?
Просто могу я написать Inductive witness : (X : Type) -> X -> Type := | witness_nat : witness nat 1. (* for example *) так что X является аргументом, а не параметром, поэтому я могу заставить конструкторы выполнять специальный...
36 просмотров