3 ms·
I'll also argue that the ideas in this post absolutely matter in practice. For example, Github Actions uses YAML as its Reader / S-expression / CST layer. And
by chubot 2y ago
I'll also argue that the ideas in this post absolutely matter in practice.
For example, Github Actions uses YAML as its Reader / S-expression / CST layer.
And then it has a separate "parser", for say "if" nodes, and then another parser for the string value of those "if" nodes.
https://docs.github.com/en/actions/writing-workflows/workflow-syntax-for-github-actions#jobsjob_idif https://docs.github.com/en/actions/writing-workflows/workflo...
if: ${{ ! startsWith(github.ref, 'refs/tags/') }}
if: github.repository == 'octo-org/octo-repo-prod'
This fact is poorly exposed to users:
You must always use the ${{ }} expression syntax or escape with '', "", or () when the expression starts with !, since ! is reserved notation in YAML format.
So I feel that they could have done a better job with language design by taking some lessons from the past.
Gitlab has the same kind of hacky language on top of YAML as far as I remember