Комментарии 10
Предлагается тщательно расставлять скобки и запятые?
Советую разработчикам языка обратиться к опыту Scala 3, где добавлен синтаксис c отступами а-ля python/yaml. Или… предоставить вариант на основе HCL?
Предлагается помнить, которые поля в схеме опциональны, и не забывать там Some?
Думаю, без поддержки в IDE всем этим будут пользоваться только носители ХГМ (Хаскеля головного мозга).
Если что, я вполне функциональщик по убеждениям и даже лоялен Хаскелю (но не его "безIDEйному" сообществу).
Для 'inspired by haskell' там явно не хватает краткости и выразительности. Для языка конфигураций он слишком сложен - я вот посмотрел их вводную часть, и в какой-то момент сломался. А конфиги не должны ломать мозг. И я не до конца понимаю его место. Они явно хотят заменять не json/yaml/toml. Если у них есть лямбды и if'ы - это уже ближе к jinja.
Но jinja позволяет сделать loop. А тут я не увидел. И любой убийца jinja должен убить jinja с помощью лучшей обработки trailing/leading spaces. Тут этого я тоже не увидел.
Так что я не понимаю, что это и какую проблему решает.
Его бы с jsonnet-ом сравнить, а не с yaml-ом.
Люди, ставящие запятые в начале строки - террористы, а форматы, не позволяющие trailing commas - изобретение дьявола, и вы меня не переубедите.
Сама дилемма сomma style навязана террористами: она неизбежно вытекает из С-подобного синтаксиса. Этот синтаксис не предназначен для использования людьми и навязывается роботами, особенно применительно к текстовым конфигам.
Не можете предоставить тулинг, предохраняющий человеческий экспириенс — испольуйте синтаксис на основе отступов. Или вот хотя бы HCL, как выстраданный компромисс.
Dhall позволяет trailing commas. А вот почему у них все примеры в таком стиле я тоже не понимаю
Легко предположить, что ради
1) удобства комментирования и перестановок строк и
2) визуального выравнивания.
Обе фичи в yaml бесплатны. Что только не придумывают ради святого JSON ЦА-"программистов", которые путают DRY с С-подобным синтаксисом!
Остальные (практики конфигурирования) смотрят на это с недоумением… а жаль, потому что концепция языка невиновата и интересна.
Имхо примеры так себе. Ну куда это годится когда на yaml'лаконичнее и читаемее в 100 раз? Было бы классно показать как на этом можно описать развесистый шаблон из десятка, хотя бы, разнородных сервисов :-).
Выглядит как jsonnet курильщика
Язык конфигураций Dhall как еще один способ написания манифестов для Kubernetes