PLDB
Languages Features Calendar CSV Lists Blog About Sponsor Add Language
GitHub icon

HCL

HCL

HCL, aka HashiCorp configuration language, is a data notation created in 2014.

#244on PLDB 8Years Old 5.7kUsers
2Books 1Papers 180kRepos

Try now: Riju

HCL (HashiCorp Configuration Language) is a configuration language built by HashiCorp. The goal of HCL is to build a structured configuration language that is both human and machine friendly for use with command-line tools, but specifically targeted towards DevOps tools, servers, etc. HCL is also fully JSON compatible. That is, JSON can be used as completely valid input to a system expecting HCL. This helps makes systems interoperable with other systems. HCL is heavily inspired by libucl, nginx configuration, and others similar.


Example from the web:
variable "ami" { description = "the AMI to use" } <<FOO hello world FOO
Example from Riju:
output = "Hello, world!"
Example from Linguist:
consul = "1.2.3.4" // This is a comment template "foo" { bar = "zip" }

Keywords in HCL

var local path for_each any string number bool true false null if else endif for in endfor

Language features

Feature Supported Example Token
Conditionals
Booleans true false
MultiLine Comments
/* A comment
*/
/* */
Strings
Comments
// A comment
Line Comments
// A comment
//
Semantic Indentation ϴ

Books about HCL from ISBNdb

title authors year publisher
Beginning HCL Programming: Using Hashicorp Language for Automation and Configuration Riti, Pierluigi 2021 Apress
Beginning HCL Programming Pierluigi Riti; David Flynn 20210411 Springer Nature

Publications about HCL from Semantic Scholar

title authors year citations influentialCitations
Layering RTL, SAFL, Handel-C and Bluespec constructs on Chisel HCL D. Greaves 2015 2 1
clips.html · hcl.html · sass.html

View source

PLDB - Build the next great programming language · v2022 · Day 33 · Docs · Build · Acknowledgements · Traffic Today · Traffic Trends · Mirrors · GitHub · feedback@pldb.com