From 1b1df9607ad126163051e666ad512113e501e451 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Toni=20C=C3=A1rdenas?= Date: Thu, 31 Oct 2019 11:28:43 +0100 Subject: [PATCH] Starlark is not really Turing-complete Starlark is very expressive, but, if we're being pedantic, it [isn't quite Turing-complete](https://github.com/google/skylark/blob/master/doc/spec.md#functions). This is desirable because you can't prove that an arbitrary program in a Turing-complete language will finish, so running such programs in a config language implies that maybe the build won't ever finish. This is a proposal for alternative wording of what we really get from Starlark: expresiveness. (By the way, very interesting project!) --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 7d620b3..b5f638c 100644 --- a/README.md +++ b/README.md @@ -1,10 +1,10 @@ # AsCode - The Real Infrastructure as Code -**AsCode** is a tool for define infrastructure as code using the [Starlark](https://github.com/google/starlark-go/blob/master/doc/spec.md) language on top of [Terraform](https://github.com/hashicorp/terraform). It allows to describe your infrastructure using a turing complete language in Terraform without writing a single line of [HCL](https://www.terraform.io/docs/configuration/syntax.html), meanwhile, you have the complete ecosystem of [providers](https://www.terraform.io/docs/providers/index.html) +**AsCode** is a tool for define infrastructure as code using the [Starlark](https://github.com/google/starlark-go/blob/master/doc/spec.md) language on top of [Terraform](https://github.com/hashicorp/terraform). It allows to describe your infrastructure using an expressive language in Terraform without writing a single line of [HCL](https://www.terraform.io/docs/configuration/syntax.html), meanwhile, you have the complete ecosystem of [providers](https://www.terraform.io/docs/providers/index.html) ### Why? -Terraform is a great tool, with support for almost everything you can imagine, making it the industry leader. Terraform is based on HCL, a JSON-alike declarative language, with a very limited control flow functionalities. IMHO, to really unleash the power of the IaC, a turing complete language should be used, where basic elements like loops or functions are first class citizens. +Terraform is a great tool, with support for almost everything you can imagine, making it the industry leader. Terraform is based on HCL, a JSON-alike declarative language, with a very limited control flow functionalities. IMHO, to really unleash the power of the IaC, a powerful, expressive language should be used, where basic elements like loops or functions are first class citizens. ### What is Starlark?