gadt 相关问题

广义代数数据类型GADT是支持自定义构造函数类型的更强大的代数数据类型。

如何使用menhir解析成GADT表达式?

我刚刚通过Real World OCaml了解了OCaml中的GADT,并想尝试将那里的第一个小语言转移到解释器中,从而使用menhir。 ast 的定义是

回答 1 投票 0

如何使用menhir解析成GADT表达式?

我刚刚通过Real World OCaml了解了OCaml中的GADT,并想尝试将那里的第一个小语言转移到解释器中,从而使用menhir。 ast 的定义是

回答 1 投票 0

如何更改构造函数的类型应用程序参数的顺序

我有以下数据类型定义: 类型 DynamicF' :: k -> (k -> 类型) -> 类型 数据 DynamicF' k f 其中 DynamicF :: 可输入 a => f a -> DynamicF' k f 问题是,将军...

回答 1 投票 0

为什么 Data.Dynamic 包含见证而不是类型类约束?

Data.Dynamic 有以下实现: 数据动态在哪里 动态 :: TypeRep a -> a -> 动态 我发现以下定义是等效的(至少我......

回答 1 投票 0

无法解决与 gadt 类型不匹配的问题

我对 x 与 gadt 有以下类型定义。 输入 x = X : '一个选项 -> x 我正在尝试编写一个函数来获取带有标签 X 的选项的值 我首先尝试了以下方法 乐...

回答 1 投票 0

具有递归依赖元素的反向异构 gadt 列表

看过关于 List 的元素取决于前面元素的类型的答案,其中问题通过以下列表定义解决: 输入 ('a,'b) mlist = |明尼尔...

回答 1 投票 0

像 `Type.eq` / `Typing_equal.equal` 这样的平等证人有什么用?

type ('a, 'b) equal = ('a, 'b) t (source) 有什么用?我在 Coq 中使用过 refl,但还不需要像 OCaml 中那样的东西。 该类型在 Base 和即将发布的 OCaml 版本中定义

回答 0 投票 0

在 Scala 中使用 GADT 进行详尽检查的简洁方法?

我正在寻找与以下 OCaml 代码相同的行为,其中编译器理解匹配是详尽无遗的,因为我们已经表示两个检查者必须具有相同的类型: 输入 c...

回答 1 投票 0

GADTS/类型族的映射规则

这些是示例输入和输出类型的简单表示: 输入 = I1 Int | I2 字符串 输出 = OA 字符串 | OB 布尔 |超频 这里的参数只是为了更真实。 :) 我

回答 1 投票 0

GADTs但不存在量化的问题。

以下包含存在型的代码不能编译 {-# LANGUAGE LambdaCase #-}。{-# LANGUAGE DeriveFunctor #-}。{-# LANGUAGE TupleSections #-}。{-# LANGUAGE RankNTypes #-}。{-# LANGUAGE ...

回答 1 投票 0

为什么ghc不能在这个Category产品上匹配这些类型?

我有一个非常典型的类别定义,是这样的: class Category (cat :: k -> k -> Type) where id :: cat a a (.) :: cat a b -> cat c a -> cat c b Now I would like to make the ...

回答 1 投票 2

异构列表上的此类型错误是什么意思?

我有一个异构列表,并且在它们上面有一个函数,类型('ls,'tl)hlist = | Nil:('a,'a)hlist |缺点:'a *('l,'t)hlist->('a->'l,'t)hlist let rec headlist l =将l与|匹配。 ...

回答 1 投票 0

GADT的类型推断-a0不可触摸

让我说我有这个程序{-#语言GADT#-}数据My a其中A :: Int-> My Int B :: Char-> My Char main :: IO()main = do let x = undefined: :我的A v x案例x-> ...

回答 2 投票 12

为什么列举所有情况时通配符匹配不起作用?

考虑此代码:{-#语言GADT#-}数据P t其中PA :: P Int PB :: P Double PC :: P Char isA PA = True isA _ = False它将编译并正常工作。现在考虑以下代码:{-#LANGUAGE ...

回答 1 投票 7

GADT类型为无形状副产品-如何构建具有任意数量的代数的解释器

假设我有两种GADT类型。抽象类Numbers [A]()案例类IntType()扩展Numbers [Int]抽象类Letters [A]()案例类EnglishType()扩展Letters [String]我有...

回答 1 投票 0

Haskell中存在类型的澄清

[我正在尝试了解Haskell中的存在类型,并遇到了PDF http://www.ii.uni.wroc.pl/~dabi/courses/ZPF15/rlasocha/prezentacja.pdf。请更正我以下的理解...

回答 2 投票 4

如何为Haskell中的异构列表定义Show

我正在研究Haskell通过阅读有关类型的思考,可以为依赖类型提供什么。这是一个定义为GADT的异构列表。数据HList(ts :: [Type]),其中HNil :: ...

回答 1 投票 0

如何在Haskell中解析具有可选类型和变体类型的json?

如何解析该文件中的输入json? https://github.com/smogon/pokemon-showdown/blob/master/data/moves.js对于辅助属性和标志属性?它们是可选的,并且包含变体...

回答 4 投票 -2

Haskell GADT和衍生节目

我如何使Bind数据构造函数的显示工作?前两个(Return和Put)工作正常。由于绑定使用函数作为参数,因此我认为它需要一些特殊的“处理”吗?数据...

回答 1 投票 1

如何在Haskell中解析具有可选变量的json字段?

如何解析该文件中的输入json? https://github.com/smogon/pokemon-showdown/blob/master/data/moves.js对于辅助属性和标志属性?它们是可选的,并且包含变体...

回答 1 投票 -3

© www.soinside.com 2019 - 2024. All rights reserved.