在 dhall 中拆分字符串

Joh*_*lph 3 dhall

我正在玩 dhall,想知道如何实现表单的字符串拆分功能

?(text: Text) -> ?(delimiter: Text) -> List Text

但是,似乎 dhall没有表示单个字符的概念/类型。而 Prelude 中没有这样的功能。

您可以对 Text 值做的唯一事情是将它们连接起来

所以……有可能吗?

Gab*_*lez 5

现有的 Dhall 内置函数目前无法做到这一点。该Text类型在概念上是不透明的,类似于Double. 您可以对类型值做的唯一事情Text是连接它们,但您不能内省、解析或比较它们的相等性。

Text以这种方式进行限制的最初理由是,该语言鼓励将强类型表示上游到其输入中。例如,不是拆分字符串,而是要求字符串已经被拆分(即期望输入类型List Text而不是Text)。但是,这可能会在某些时候发生变化,因为标准不是一成不变的,而是通过此处概述的过程随着时间的推移而演变:

此外,即使不更改语言,您仍然可以按照以下指南使用 Haskell API 使用您自己的内置程序扩展语言来进行实验: