Вопросы по теме 'dependent-type'
Можно ли реализовать преимущества зависимой типизации с помощью макросов в Лиспе?
Это честный вопрос, а не тролль. Я прошу вашего терпения.
Когда Седрик говорит о зависимых типах , преимущество, которое он заявляет, заключается в проверке длины списка во время компиляции:
Наличие списка с одним элементом было бы...
1278 просмотров
schedule
22.12.2023
Есть ли связь между `a :~: b` и `(a :== b) :~: True`?
Реализована ли какая-либо связь между предложениями ? и продвигали равенство?
скажем, у меня есть
prf :: x :~: y
в области действия для некоторых Symbol s; путем сопоставления с образцом, если это Refl , я могу преобразовать это в...
340 просмотров
schedule
26.12.2023
Как я могу выразить действительность диапазона в 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 просмотров
schedule
15.10.2022
Отношение индекса 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 просмотров
schedule
17.11.2023
Как я могу объединить это семейство закрытых типов с классом зависимых типов
Моя проблема
У меня есть следующее семейство типов, которое отделяет аргументы от функции:
type family
SeparateArgs
( a :: Type )
:: ( Type, [Type] )
where
SeparateArgs (a -> b) =
SndCons2 a (SeparateArgs b)...
98 просмотров
schedule
13.11.2022
Дотти не может вывести тип результата универсальной функции Scala, принимая признак параметра типа с абстрактным типом
Простая иерархия ценностей
Представьте себе эту простую черту Value , где каждый реализующий класс имеет value некоторого типа T .
trait Value {
type T
def value: T
}
У нас есть два разных класса реализации, представляющих значения...
310 просмотров
schedule
30.06.2022