Вопросы по теме 'dependent-type'

Можно ли реализовать преимущества зависимой типизации с помощью макросов в Лиспе?
Это честный вопрос, а не тролль. Я прошу вашего терпения. Когда Седрик говорит о зависимых типах , преимущество, которое он заявляет, заключается в проверке длины списка во время компиляции: Наличие списка с одним элементом было бы...
1278 просмотров

Есть ли связь между `a :~: b` и `(a :== b) :~: True`?
Реализована ли какая-либо связь между предложениями ? и продвигали равенство? скажем, у меня есть prf :: x :~: y в области действия для некоторых Symbol s; путем сопоставления с образцом, если это Refl , я могу преобразовать это в...
340 просмотров

Как я могу выразить действительность диапазона в Idris?
Я пытаюсь смоделировать простую форму опроса в Idris и в настоящее время борюсь с проверкой пользовательского ввода, который представляет собой строку, w.r.t. к типу задаваемых вопросов. На данный момент у меня есть следующие типы: data...
345 просмотров
schedule 20.04.2024

Какова предпочтительная альтернатива Fin от Idris в Haskell?
Я хотел бы иметь тип, который может содержать значения от 0 до n, где n находится на уровне типа. Я пытался что-то вроде: import GHC.TypeLits import Data.Proxy newtype FiniteNat n = FiniteNat { toInteger :: Integer } smartConstructFiniteNat...
877 просмотров
schedule 08.09.2022

Есть ли в Haskell видовая унификация?
Я изучаю, в какой степени одноэлементные типы могут имитировать зависимые типы, и я пришел к проблеме. Минимальный код, с которым я повторяю ошибку: {-# LANGUAGE GADTs #-} {-# LANGUAGE TypeInType #-} import Data.Kind(Type) data SBool :: Bool...
157 просмотров

Отношение индекса Coq
Я определяю индексированный индуктивный тип в Coq: Module Typ. (* My index -- a t is a `t H` or a `t Z`. *) Inductive hz : Set := H | Z . (* I'd like to use this relation to constrain Cursor and Arrow. *) (* E.g. one specialized Cursor...
36 просмотров
schedule 19.11.2023

Тип Haskell слишком разрешительный: нужно применить продолжение не более одного раза
Предположим, у меня есть следующий тип: type Control a = (a -> a) -> a -> a Я хочу, чтобы ровно два значения обитали в этом типе при универсальной количественной оценке: break :: Control a break = const id continue :: Control a...
156 просмотров
schedule 22.11.2023

Coq не распознает равенство зависимого списка
Я задавал вопрос раньше, но я думаю, что этот вопрос был плохо формализован, поэтому... Я столкнулся с некоторыми проблемами с этим конкретным определением, чтобы доказать их свойства: У меня есть определение списка: Inductive list (A : Type)...
49 просмотров

Как я могу объединить это семейство закрытых типов с классом зависимых типов
Моя проблема У меня есть следующее семейство типов, которое отделяет аргументы от функции: type family SeparateArgs ( a :: Type ) :: ( Type, [Type] ) where SeparateArgs (a -> b) = SndCons2 a (SeparateArgs b)...
98 просмотров

Дотти не может вывести тип результата универсальной функции Scala, принимая признак параметра типа с абстрактным типом
Простая иерархия ценностей Представьте себе эту простую черту Value , где каждый реализующий класс имеет value некоторого типа T . trait Value { type T def value: T } У нас есть два разных класса реализации, представляющих значения...
310 просмотров