2
ответа

Fundeps и GADTs: Когда тип проверяет разрешимый?

Я читал научно-исследовательскую работу о Haskell и как HList реализован и задающийся вопросом, когда описанные методы и не разрешимы для средства проверки типа. Кроме того, потому что можно сделать подобный...
вопрос задан: 27 April 2011 21:17
1
ответ

переменная проблема жесткого типа / подозреваемый

Исходя из этого вопроса о GADT, я пытаюсь построить EDSL (для примера в статье), но без GADT. У меня есть кое-что, что позволяет избежать дублирования типов данных для AST; но ...
вопрос задан: 13 March 2019 12:40
1
ответ

Экземпляры Eq или Ord для экзистенциального GADT

Есть ли удобный способ получить экземпляр Ord (или Eq) для сравнения любых двух значений GADT независимо от параметра типа. В GADT параметром типа является фантом, просто предназначенный для ...
вопрос задан: 6 March 2019 20:58
1
ответ

Доступ к ограничениям GET с уровня оценки

Я пытаюсь использовать некоторые параметры GADT из среды выполнения, предполагая, что я использовал расширение DataKinds, чтобы позволить преобразование данных в типы. то есть имея данные Num = Zero | Succ Num data Something (...
вопрос задан: 17 January 2019 13:10
0
ответов

Конгруэнтность для гетерогенного равенства

Я пытаюсь использовать гетерогенное равенство, чтобы доказать утверждения, включающие этот индексированный тип данных: data Counter: ℕ → Set where cut: (ij: ℕ) → Counter (Suc i + j) I was возможность писать свои доказательства, используя ...
вопрос задан: 28 September 2019 17:02
0
ответов

Использование GADT в реальном мире

Как мне использовать обобщенный алгебраический тип данных? Пример, приведенный в викибуке haskell, слишком короткий, чтобы дать мне представление о реальных возможностях GADT.
вопрос задан: 9 February 2019 23:06
0
ответов

Влияние на производительность при использовании GADT

При ответе на вопрос с предложением использовать GADT в комментариях возникли некоторые вопросы относительно производительности. Вопрос касался класса типов PlotValue: class PlotValue a where ...
вопрос задан: 23 May 2017 12:33
0
ответов

как преобразовать строки в синтаксическое дерево с помощью GADT

Я читал введение в GADT здесь, и мне понравилась идея ограничить программиста созданием только правильного типа синтаксического дерева, и я включил эту идею в свое простое лямбда-исчисление. интерпретатор, ...
вопрос задан: 19 June 2012 15:40
0
ответов

Сравнение GADT и MultiParamTypeClasses

Я пытаюсь разобраться с GADT и просмотрел пример GADT в руководстве GHC. Насколько я могу судить, то же самое можно сделать с MultiParamTypeClasses: {-# ​​LANGUAGE ...
вопрос задан: 12 June 2012 10:11
0
ответов

Я не могу заставить свой динамический тип на основе GADT -работать с параметрическими типами

. Итак, чтобы помочь мне понять некоторые из более продвинутых функций и концепций Haskell/GHC, я решил взять работающую реализацию динамически типизированных данных на основе GADT -и расширить ее, чтобы охватить...
вопрос задан: 11 June 2012 18:09
0
ответов

Параметризованные индуктивные типы в Agda

Я только что читаю «Зависимые типы в действии». Во введении к параметризованным типам автор упоминает, что в этом объявлении список данных (A: Set): Set where []: List A _ :: _: A → List A → ...
вопрос задан: 22 January 2012 17:04
0
ответов

GADT для полиморфного списка

Я разбираю несколько операторов вида v1 = expression1 v2 = выражение2 ... Я использую Монаду состояния, и мое состояние должно быть парой (String, Expr a), я действительно настаиваю на наличии ...
вопрос задан: 20 January 2012 17:31
0
ответов

Выведение типа Scala для конструктора типов

У меня вопрос относительно вывода типов в конструкторах типов Scala. Я использую Scala 2.9.1 ... Предположим, я определил Tree: типаж Sealed Tree [C [_], A] case class Leaf [C [_], A] (a: A) extends ...
вопрос задан: 3 December 2011 23:51
0
ответов

Что означают данные… где в Haskell?

Я видел этот фрагмент в журнале разработки omegagb: data ExecutionAST result, где Return :: result -> ExecutionAST результат Bind :: (ExecutionAST oldres) -> (oldres -> ExecutionAST результат) -> ...
вопрос задан: 23 November 2011 16:29
0
ответов

Главные числа на уровне типа в Ocaml

могут кто-нибудь дать мне предложения / рекомендации по указанию уровня уровня в Ocaml (3.12) поддерживать дополнение и вычитание на них? Например, если у меня есть цифры, подобные этому: ...
вопрос задан: 30 August 2011 13:18
0
ответов

Определение экземпляра Eq для Haskell GADT

У меня есть GADT, который очень похож на этот: data In a where M :: MVar a -> In a T :: TVar a -> In a F :: (a -> b) -> In a -> In b Он обертывает различные примитивы ввода, но последний ...
вопрос задан: 17 May 2011 09:50
0
ответов

Runtime comparison of types for lifting polymorphic data structures into GADTs

Suppose we define a GADT for comparison of types: data EQT a b where Witness :: EQT a a Is it then possible to declare a function eqt with the following type signature: eqt :: (Typeable a, ...
вопрос задан: 31 October 2010 01:18
0
ответов

Материал для изучения GADT

Я начал читать о GADT в Haskell Wiki, но не чувствовал себя комфортно в его понимании. Вы порекомендуете отдельную главу книги или сообщение в блоге, объясняющее GADT для новичка в Haskell?
вопрос задан: 26 October 2010 00:14