问题标签 [dhall]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
dhall - 解析路径类型
我试图为该Path
类型创建一个实例。https://hackage.haskell.org/package/path
如果我使用泛型。
这不会对目录进行任何规范化。我最初认为这会搭载定义的 FromJSON 实例,这些实例又会调用parseRelDir
等,但事实并非如此,当我尝试手动实现它时,我意识到我完全不知所措。这样做的方法是什么?
dhall - Dhall Repl:如何获取记录类型的字段类型
我正在寻找一种方法来查看记录类型的字段类型,基本上是.
Dhall REPL 中的类型级别等价物
假设我已经完成:
我如何在不必实例化 Person 的情况下找到 Person.name 的类型(即)Text
?
如果我创建 Person 类型的术语,例如:let betty : Person = { age = 34, name = "Betty" }
,我可以这样做:type betty.name
,但我正在寻找与之等效的类型级别。
dhall-kubernetes
实际用例是在具有许多字段的深度嵌套记录中查找字段类型。
谢谢,如果我的 Google-fu 失败并且之前有人问过这个问题,我们深表歉意。
dhall - 为什么 Dhall 不允许从 if 表达式返回类型?
Dhall 具有返回类型的函数:
它有if
表达式:
但是这两个功能不能一起使用:
为什么?
起初我认为这是一个避免依赖类型的技巧,但似乎 Dhall 在使用联合时确实允许类型真正依赖于值。以下编译良好:
更新
dhall标准现在支持这样的 if 表达式,dhall-haskell也是如此,感谢@gabriel-gonzales
directed-acyclic-graphs - How can I encode a rule tree of multiple depths in Dhall?
I'm trying to move some error prone YAML into Dhall to make some system configuration simpler. I have a tree that looks like:
I'm trying to encode this in Dhall and I can't seem to provide the compiler the right information. My latest try looks like:
But I get Error: Not a function
. Any pointers would be appreciated.
I also tried w/ the Graph module, but I can't seem to convert that to YAML directly.
kubernetes - 我如何从 dhall kubernetes 导出 IntOrString
我想导入:IntOrString
从 dhall kubernetes,
https://github.com/dhall-lang/dhall-kubernetes/blob/master/1.19/types/io.k8s.apimachinery.pkg.util.intstr.IntOrString.dhall;
但我不知道如何导入它?
我有这个代码:
build - packages.dhall 和 spago.dhall 文件有什么区别?
spago
文档状态:
packages.dhall
:此文件旨在包含您的项目可用的全部包(即,您可能要导入的任何包)。实际上,它以官方包集为基础,然后您可以添加任何可能不在包集中的包,或覆盖现有的包。
spago.dhall
: 这是你的项目配置。它包括上述包集、依赖项列表、将用于构建的源路径以及 spago 将使用的任何其他项目范围的设置。(我的重点)
为什么这两个文件都有 的概念/概念dependencies
?示例:packages.dhall
来自spago.dhall
电子书。
spago.dhall
可以在项目.spago
文件夹中找到依赖项。但我无法找到来自packages.dhall
. 其他的都很常见aff
。不同的视角:
[...] 您选择的是“快照”,它是所有可用包的某些版本的集合,这些包保证可以编译和协同工作。
快照在您的
packages.dhall
文件中定义,然后您指定要在spago.dhall
. 每个包的版本来自快照。
听起来,就像spago.dhall
是来自 .The 包的摘录packages.dhall
。关于版本的注释有点令人困惑,因为两个文件中都没有版本说明符。
那么,为什么是两个文件?来自 npm 生态系统的人的心智模型是什么package.json
(也可能存在)?
dhall - Dhall 环境变量值作为联合替代方案
我刚从 Dhall 开始,我被这个问题难住了。我正在尝试生成 YAML 文件,其中参数由环境变量设置,在这种情况下DHALL_TARGET
。基本上我正在尝试这样做:
以上显然不起作用,因为Env.env:DHALL_TARGET
语法无效。将环境变量解释为联合替代方案的正确方法是什么?
我现在这样运行它:
kubernetes - 缺少记录字段:IngressServiceBackend
我在尝试使用 Dhall for Kubernetes 时收到一条奇怪的错误消息,我不明白。这是我的配置:
这是错误消息:
IngressServiceBackend
所以在我看来它没有找到k8s
?但是,k8s
定义为https://raw.githubusercontent.com/dhall-lang/dhall-kubernetes/master/1.19/package.dhall并且当我手动浏览该 URL 时,我可以看到它在那里。
有任何想法吗?
dhall - 如何在 dhall 中键入异构列表?
我正在使用 Dhall 为 github 操作生成 Yaml 文件。在 GH Action 中,您可以指定一个矩阵来生成多个案例(例如 Scala 版本和项目名称的组合)。但您也可以指定要排除的组合。
例如:
另一个有效的例子:
最后一个:
(参见:https ://docs.github.com/en/actions/reference/workflow-syntax-for-github-actions#example- exclude-configurations-from-a-matrix )
特别是,matrix
我们有多个领域是List Text
,但我们也有exclude
我认为是List
的领域Record
。
如果我只是从头开始编写,我可以在 Dhall 中编写此代码,而不定义类型(并且它似乎Record
使用我拥有的特定键生成 a。
但是,如果我想构建一个带有类型的库,或者更具体地说是扩展这个库,我不知道如何编写正确的类型。通常,请参见以下定义:
https://github.com/regadas/github-actions-dhall/blob/master/types/Strategy.dhall
matrix
被定义为 a List { mapKey : Text, mapValue : List Text }
,但exclude
不是 aList Text
所以它不起作用。而且我不知道如何将此定义更改为 accept exclude
。
请注意,在示例中它是os
and node
,但它可以是任意键和任意数量的键。
那么知道如何定义该类型吗?
编辑:添加更多示例
dhall - Dhall - 表达式与注释不匹配,键入预期文本
我正在使用 Dhall 1.39.0 并收到此错误:
这是从 cat show-and-tell.dhall | ~/external-programs/bin/dhall --explain text
.
请注意,我可以将相关的 dhall 文件加载到 dhall-golang 库中并使其正确呈现。所以我有点困惑。
一个有点做作的示例文件在这里: