如何使用抽象类型合并?

特里斯坦

我正在尝试实现merge与抽象类型一起使用的通用过程,但是❰merge❱ expects a record of handlers即使调用者传递了记录类型,它也总是会失败,即:

let Keys
    : Type
    = < A | B >

let ConfigType
    : Type
    = { A : Text, B : Text }

let Renderer =
        λ(configType : Type)
      → λ(config : configType)
      → λ(value : Keys)
      → merge config value

in  Renderer ConfigType { A = "A", B = "B" } Keys.A

是否有可能表明configType将是记录类型,以便可以解释此通用方法?

加布里埃尔·冈萨雷斯(Gabriel Gonzalez)

不,目前在该语言中这是不可能的。

在以下GitHub问题中,我们讨论了Row在语言中添加一种类型以区分记录类型和其他类型:

https://github.com/dhall-lang/dhall-lang/issues/434

...但是最终以不同的方式解决了原始问题。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Scala:使用类型参数或抽象类型作为类型界限

来自分类Dev

使用抽象类型时的编译器错误

来自分类Dev

如何使用PHPunit测试抽象类?

来自分类Dev

为什么这是对Scala抽象类型的无效使用?

来自分类Dev

如何对抽象类型使用类型约束

来自分类Dev

如何在AGDA中定义抽象类型

来自分类Dev

如何使用抽象类并实现它们

来自分类Dev

何时使用抽象类作为类型

来自分类Dev

R中的抽象类型

来自分类Dev

参数局部抽象类型

来自分类Dev

Scala Akka:使用子类型参数实现抽象类

来自分类Dev

如何使用抽象类调用抽象函数

来自分类Dev

如何具体设置类型绑定的抽象类型?

来自分类Dev

如何指定抽象类方法的返回类型

来自分类Dev

如何使用Espresso测试抽象类?

来自分类Dev

如何将抽象类转换为T类型?

来自分类Dev

理解抽象类型

来自分类Dev

使用抽象类型时的编译器错误

来自分类Dev

使用抽象类从Collectiontype获取类型

来自分类Dev

如何在AGDA中定义抽象类型

来自分类Dev

使用派生类型实现抽象类

来自分类Dev

Scala抽象类型成员

来自分类Dev

如何返回抽象类型?

来自分类Dev

如何指定抽象类方法的返回类型

来自分类Dev

C ++抽象类型声明

来自分类Dev

指定抽象类型成员

来自分类Dev

使用具有抽象类型的 Scala 数组

来自分类Dev

使用通用枚举类型扩展抽象类

来自分类Dev

抽象类型的调用方法