3 ms·
So. With Ansible's YAML it was always a pain when your configuration grew beyond what's envisioned and you needed some more conditions and loops―because the pro
by aasasd 8y ago
So. With Ansible's YAML it was always a pain when your configuration grew beyond what's envisioned and you needed some more conditions and loops―because the programming functionality was always incomplete and needed to be implemented in every new case (e.g. you couldn't do loops of roles when I last checked).
I guess Mr DeHaan decided that this was a mistake and returned to the beaten path of full-featured programming. In which, of course, you can't spill config data into your files as freely as you would with YAML, since it has to be distinguished from language constructs and thus encrusted in syntactical markings.
Now, it seems to me that Lisp better marries data structures to occasional programming functionality, especially for Ansible where every part of a config is a declarative value first, and an instruction secondly. More so compared to Python, which uses statements instead of expressions in plenty of notorious cases.
Of course, you'd still have to mark values with more syntax than in YAML's free-flow, and I guess Lisp isn't good at embedding expressions in strings. In this regard, I'm very curious to see one day a lightweight version of Lisp syntax reminiscent of YAML. Notably, Ansible's configs essentially use the syntax of "function: argument -keyword: value -keyword: value..."
I'm not sure if I've seen a Lisp-based Ansible clone. There's Vektra's Tachyon in Go, but apparently it only uses Lisp for embedded condition snippets: https://github.com/vektra/tachyon https://github.com/vektra/tachyon
- mpdehaan2 8y ago"I guess Mr DeHaan decided that this was a mistake and returned to the beaten path of full-featured programming." Nope, and I've written on this a bit -- I think Python is a better fit for those that want to program in Python. For those that want to build their own CMS in something else, go for it!