В настоящее время это невозможно с существующими встроенными функциями Dhall. Тип Text
концептуально непрозрачен, похож на Double
. Единственное, что вы можете сделать со значениями типа Text
, это объединить их, но вы не можете проанализировать, проанализировать или сравнить их на равенство.
Мое оригинальное обоснование для ограничения Text
таким образом заключается в том, что язык поощряет включение строго типизированных представлений в свои входные данные. Например, вместо разделения строки требуется, чтобы строка уже была разбита (то есть ожидается ввод типа List Text
вместо Text
). Тем не менее, это может измениться в какой-то момент, потому что стандарт не установлен в камне и развивается с течением времени через процесс, описанный здесь:
Кроме того, даже не внося изменений в язык, вы все равно можете поэкспериментировать, расширив язык своими собственными встроенными модулями с помощью API Haskell, следуя этому руководству: