当前位置: 首页 > 知识库问答 >
问题:

使用数据索引-类型不匹配错误

莘康裕
2023-03-14
data Z
data S n

type One = S Z
type Two = S (S Z)

type family Plus m n :: *
type instance Plus Z n = n
type instance Plus (S m) n = S (Plus m n)
ghci> :t undefined :: Plus One Two
undefined :: Plus One Two :: S * (S * (S * Z))
data Nat = Z | S Nat
type family Plus m n :: Nat
Kind mis-match
Expected kind `OpenKind', but `Plus One Two' has kind `Nat'
In an expression type signature: Plus One Two
In the expression: undefined :: Plus One Two

共有1个答案

吕宇定
2023-03-14

我认为你测试的方法是不正确的。undefined可以是任何类型的*(我可能错了)。

在ghci中尝试此操作

ghci>:t (undefined :: 'Z)

<interactive>:1:15:
    Kind mis-match
    Expected kind `OpenKind', but `Z' has kind `Nat'
    In an expression type signature: Z
    In the expression: (undefined :: Z)

在ghci中使用:kind!仍然可以获得加1 2的类型

ghci>:kind! Plus One Two
Plus One Two :: Nat
= S (S (S 'Z))
 类似资料:
  • Linked lists 和Perl一样,OCaml也将对列表的支持直接内建在语言中了。OCaml中一个列表的所有元素的类型必须一致。使用以下格式来写列表: # [1; 2; 3];; - : int list = [1; 2; 3] (注意是分号,不是逗号)。 [] 表示空列表。 一个列表有一个“头”(第一个元素)和一个“尾”(剩下的元素)。头是一个元素,而尾则是一个列表,所以前面的例子中,表

  • 问题内容: 我试图在Swift中使用JSONDecoder将JSON转换为Structs,所以我编写了所有Structs,将它们修改了几个小时,但它仍然给我这个错误。我不知道是否有办法查看给出此信息的行。我将在下面发布我的struct,并在其后发布Json File链接。 完整的错误描述是: typeMismatch(Swift.Dictionary ,Swift.DecodingError.Co

  • 我有一个带有8个JCombobox和文本字段的Jframe...当我按下提交按钮时得到了数据类型不匹配错误 如何解决这个错误?

  • 问题内容: 每当我清理项目时,都会说:PSI和索引不匹配该怎么办? 问题答案: 重要说明:这将清除架子,本地历史记录以及可能的其他缓存数据。 “文件”菜单>“使缓存无效并重新启动”。PSI缓存是受此命令影响的缓存之一,因此应该对其进行修复。

  • 这是我运行程序时收到的错误: 注:[19533]是我使用的一个测试值。 这是在CustomerServiceBeanImpl.java中出现错误的方法: 在快速检查ERD时,“Customer”表中的“id”列的数据类型为bigint。然而,我不确定这是否重要。(顺便提一下PostgreSQL数据库。) 如何修复此错误?

  • 我在这里复制代码;https://developer.android.com/codelabs/kotlin-android-training-view-model#5 但我从DataBindingUtil中得到了一个类型不匹配。充气方法。正在返回ViewDataBinding!,当需要FragmentPlayBinding时。 我https://github.com/google-develop