问题标签 [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.
json - Dhall Lang 列表类型无效
我真的很想使用 Dhall lang 来解决我在使用 Github Terraform Provider 时遇到的问题。
见:https ://github.com/etaty/example-dhall-terraform-github
但是,我以前从未使用过 Dhall,并且实际上只有一个用例可以使用它。
我想调试我在这个 github repo 中遇到的错误以创建 github.tf 文件。
我得到的错误如下:
我在下面包含了第 63 行以及引用了此错误的位置。我上网对此做了很多研究,但是我没有取得任何成功。
任何帮助将不胜感激!
haskell - 在dhall(Haskell)中编码`Map([Text],[Text])Text`
Map ([Text], [Text]) Text
在 dhall中编码 Haskell 类型的最佳方法是什么?
试图。看来我们不能toMap
用来这样做:
因为我们需要地图的域是 type ([Text], [Text])
。
dhall - 如何制作包含数据的递归 Dhall 和类型
这是我的示例代码。我一直无法弄清楚如何使我的State
sum-type 递归,同时仍然允许它在其他地方像 sum-type 一样使用。我的StateMachine
类型也是如此。
是否有一种合理的方法可以做到这一点,不会增加代码大小并使最终用户导入和使用的类型符合人体工程学?如果从示例中看不出来,我正在尝试对状态机进行模式化。
我尝试了以下方法,但我收到“不是记录或联合”错误State.Task
:
dhall - 如何创建具有任意键但键入值的 dhall 模式?
在 dhall 中,如何为以下 yaml 创建模式?
如您所见,它具有任意键(“local”、“stage”等),但值的类型相同。我相信这是一个相当常见的用例,但我没有看到教程中讨论过它。
dhall - dhall-to-yaml 函数文本输出以双引号输出
我有以下函数,当通过 dhall-to-yaml 处理时,它的输出用双引号括起来,但注入记录中的静态字符串没有用引号括起来,我怎样才能控制用双引号括起来的东西和不括起来的东西?
输出
期望的输出:
haskell - 如何将值打印/编码到 Dhall 中?
在上面的例子中,我怎样才能把 an 编码Example
成一个 dhall 值,所以本质上是一个 type 的函数Example -> String
?似乎在黑线鳕中找不到任何关于打印/编码的参考。
json - 如何在dhall中将结构转换为json?
如何将任意结构转换为 json?
我知道有toMap
内置函数,但它需要一个同质的记录。
我真正想做的是在 dhall 中编写 OpenAPI 规范。它的大部分部分都很简单而且很好,但是描述传入数据形状的 json 模式是递归的,这在 Dhall 中很难。我想要的会在 Haskell 中表达如下
因为在 Dhall 看起来很难,所以我决定走这条路:
但在这条路上我也被困住了。我愿意为了不打补丁而牺牲一些类型的刚性dhall-json
。
dhall - 在 dhall 中定义复杂类型的列表
我定义了几种类型,其中两种被组织成列表(字段和选项)。定义函数以帮助定义条目(addfield 和 addoption)。我能够定义字段并按预期工作;但是,对于选项,当列表包含多个元素时会出现错误。
这是完整的 dhall 文件:
这是错误输出:
如果我删除第二个选项(第 59-64 行),它会起作用吗?
我究竟做错了什么?如何Option
为OptionList
.
functional-programming - `bind`/`flatMap`/`>>=` over Optional in Dhall
我需要bind
/ flatMap
/>>=
在Optional
Dhall 上。
我找不到它的实现并想出了我自己的。
然后我按如下方式使用
中真的没有定义这样的功能Prelude
吗?我想我可能错过了。
此外:
有没有更惯用的方式来定义它?
是否有可能利用类型推断并缩短调用时间?就像是
我试图不提供类型参数,但似乎不可能(从我对语言的有限了解)。
recursion - Dhall中的整数除法
我想计算两个Natural
s 的商。我需要满足的要求是我有一些配置项必须动态定义为另一个的共享(即一个容器具有X
内存,该容器中进程的两个配置键定义为X / Y
和X / Z
)。
我的第一个想法是使用递归,但这种方法不起作用:
特别是,quotient
当我尝试调用它时,Dhall 抱怨说尚未定义。鉴于 Dhall 的全部功能范式(以及我对它的不熟悉),这似乎是合理的。我认为可能有某种方法可以做到这一点,但不幸的是我无法做到。
我使用Natural/fold
该方法进行了另一次尝试,但我不确定这是否有意义。
这通过了以下所有断言。
0
在我的情况下,除以时返回0
很好。
有没有更惯用的方法来实现这一目标?我在里面找了一个现成的整数除法函数Prelude
但是没找到。