You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository has been archived by the owner on Oct 3, 2019. It is now read-only.
With the announcement of terraform 0.12 there are many extensions to the HCL configuration language.
It looks more like a programming language rather than a data configuration language.
HCL covers a domain specific language. It seems that the maintenance and building a programming language and DSL can be counter productive. For example, the breaking changes listed for hcl2.
What alternatives were looked at? For example, lua is a language designed for embedding and DSLs. Even nginx has an extensions to support (community provided) it.
From a purely educational level, I'd like to learn why hcl is still the supported choice.
The text was updated successfully, but these errors were encountered:
jtarchie
changed the title
the difficulty of a custom language
why not an alternative to a custom language
Jul 27, 2018
The very first paragraph of the Configuration Syntax documentation probably summarizes Hashicorp's stance on this.
I think there's also a large factor at play that Hashicorp has a whole fleet of tools, written in Go-lang, and having their own configuration language gives them complete control over the format from the ground up.
... and I'm sure there's others, by Hashicorp and the community at large.
Personally... I favour the JSON syntax for most projects since it allows me to quickly write tools that understand my configuration in almost any language... but as support for HCL expands, I definitely see some advantages to it's readability and the availability of the parser itself as an open source library.
This seems like a Terraform question more than an HCL question. If you'd like to discuss design decisions for Terraform, please do so over in Terraform's repository.
With the announcement of terraform 0.12 there are many extensions to the HCL configuration language.
It looks more like a programming language rather than a data configuration language.
HCL covers a domain specific language. It seems that the maintenance and building a programming language and DSL can be counter productive. For example, the breaking changes listed for hcl2.
What alternatives were looked at? For example,
lua
is a language designed for embedding and DSLs. Evennginx
has an extensions to support (community provided) it.From a purely educational level, I'd like to learn why
hcl
is still the supported choice.The text was updated successfully, but these errors were encountered: