From 22bc7a98cbafe5e4fd29cbd9c0b531426bf5ee64 Mon Sep 17 00:00:00 2001 From: Martin Atkins Date: Sat, 27 Jan 2018 10:28:15 -0800 Subject: [PATCH] README: Clarify that HCL is just syntax The readme was previously unclear about the fact that HCL is not a configuration language in itself but rather a toolkit for defining and parsing configuration languages. It may still not be totally clear, but it is hopefully clearer than it was. --- README.md | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index f18fee9..9ae0baf 100644 --- a/README.md +++ b/README.md @@ -1,8 +1,9 @@ # HCL -HCL is a structured configuration language that is both human- and -machine-friendly, for use with command-line tools. Although intended to be -generally useful, it is primarily targeted towards devops tools, servers, etc. +HCL is a toolkit for creating structured configuration languages that are +both human- and machine-friendly, for use with command-line tools. +Although intended to be generally useful, it is primarily targeted +towards devops tools, servers, etc. HCL has both a _native syntax_, intended to be pleasant to read and write for humans, and a JSON-based variant that is easier for machines to generate @@ -16,6 +17,12 @@ It includes an expression syntax that allows basic inline computation and, with support from the calling application, use of variables and functions for more dynamic configuration languages. +HCL provides a set of constructs that can be used by a calling application to +construct a configuration language. The application defines which attribute +names and nested block types are expected, and HCL parses the configuration +file, verifies that it conforms to the expected structure, and returns +high-level objects that the application can use for further processing. + ## Experimental HCL2 This repository contains the experimental version 2 of HCL. This new version