Я читал научно-исследовательскую работу о Haskell и как HList реализован и задающийся вопросом, когда описанные методы и не разрешимы для средства проверки типа. Кроме того, потому что можно сделать подобный...
Исходя из этого вопроса о GADT, я пытаюсь построить EDSL (для примера в статье), но без GADT. У меня есть кое-что, что позволяет избежать дублирования типов данных для AST; но ...
Есть ли удобный способ получить экземпляр Ord (или Eq) для сравнения любых двух значений GADT независимо от параметра типа. В GADT параметром типа является фантом, просто предназначенный для ...
Я пытаюсь использовать некоторые параметры GADT из среды выполнения, предполагая, что я использовал расширение DataKinds, чтобы позволить преобразование данных в типы. то есть имея данные Num = Zero | Succ Num data Something (...
Я пытаюсь использовать гетерогенное равенство, чтобы доказать утверждения, включающие этот индексированный тип данных: data Counter: ℕ → Set where cut: (ij: ℕ) → Counter (Suc i + j) I was возможность писать свои доказательства, используя ...
Как мне использовать обобщенный алгебраический тип данных? Пример, приведенный в викибуке haskell, слишком короткий, чтобы дать мне представление о реальных возможностях GADT.
При ответе на вопрос с предложением использовать GADT в комментариях возникли некоторые вопросы относительно производительности. Вопрос касался класса типов PlotValue: class PlotValue a where ...
Я читал введение в GADT здесь, и мне понравилась идея ограничить программиста созданием только правильного типа синтаксического дерева, и я включил эту идею в свое простое лямбда-исчисление. интерпретатор, ...
Я пытаюсь разобраться с GADT и просмотрел пример GADT в руководстве GHC. Насколько я могу судить, то же самое можно сделать с MultiParamTypeClasses: {-# LANGUAGE ...
. Итак, чтобы помочь мне понять некоторые из более продвинутых функций и концепций Haskell/GHC, я решил взять работающую реализацию динамически типизированных данных на основе GADT -и расширить ее, чтобы охватить...
Я только что читаю «Зависимые типы в действии». Во введении к параметризованным типам автор упоминает, что в этом объявлении список данных (A: Set): Set where []: List A _ :: _: A → List A → ...
Я разбираю несколько операторов вида v1 = expression1
v2 = выражение2
... Я использую Монаду состояния, и мое состояние должно быть парой (String, Expr a), я действительно настаиваю на наличии ...
У меня вопрос относительно вывода типов в конструкторах типов Scala. Я использую Scala 2.9.1 ... Предположим, я определил Tree: типаж Sealed Tree [C [_], A] case class Leaf [C [_], A] (a: A) extends ...
Я видел этот фрагмент в журнале разработки omegagb: data ExecutionAST result, где Return :: result -> ExecutionAST результат Bind :: (ExecutionAST oldres) -> (oldres -> ExecutionAST результат) ->
...
могут кто-нибудь дать мне предложения / рекомендации по указанию уровня уровня в Ocaml (3.12) поддерживать дополнение и вычитание на них? Например, если у меня есть цифры, подобные этому: ...
У меня есть GADT, который очень похож на этот: data In a where M :: MVar a -> In a T :: TVar a -> In a F :: (a -> b) -> In a -> In b Он обертывает различные примитивы ввода, но последний ...
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, ...
Я начал читать о GADT в Haskell Wiki, но не чувствовал себя комфортно в его понимании. Вы порекомендуете отдельную главу книги или сообщение в блоге, объясняющее GADT для новичка в Haskell?