mirror of
https://github.com/mcuadros/ascode
synced 2024-11-23 01:11:59 +01:00
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!)
This commit is contained in:
parent
e1c229b80c
commit
1b1df9607a
@ -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?
|
||||
|
Loading…
Reference in New Issue
Block a user