gpt4 book ai didi

haskell - 如何在 Dhall 中定义和使用类似 Haskell 的 sum 类型

转载 作者:行者123 更新时间:2023-12-05 00:47:36 24 4
gpt4 key购买 nike

如何在 Dhall 编程语言中定义类似于 Haskell 的 sum 类型的 sum 类型?

例如,如果在 Haskell 中我会定义

data SumProp = Option1 | Option2

我的目的是在 Dhall 中定义一个记录,其中一个属性具有一组有限的可能值:
\(sumPropValue : SumProp) -> { value = sumPropValue }

最佳答案

我相信这样做的标准方法是创建一个联合类型,其中每个选项的类型都是空记录:

$ dhall > SumProp <<EOF
< option1 : {} | option2 : {} >
EOF

此类型允许以下值:
< option1 = {=} | option2 : {} >
< option2 = {=} | option1 : {} >

尽管您显然希望将这些命名为方便的名称,例如 option1option2 :
$ dhall > option1 <<EOF
< option1 = {=} | option2 : {} >
EOF
$ dhall > option2 <<EOF
< option2 = {=} | option1 : {} >
EOF

Gabriel Gonzalez 的这篇博客文章 Typed Nix programming using Dhall 包括一个示例,如果您搜索类型 OperatingSystem 的定义.

关于haskell - 如何在 Dhall 中定义和使用类似 Haskell 的 sum 类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51574390/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com