3 ms·
General purpose languages like being turning complete, not as a main goal per se, but it's hard to be expressive and not be TC. TC means you can't statically de
by kortex 5y ago
General purpose languages like being turning complete, not as a main goal per se, but it's hard to be expressive and not be TC. TC means you can't statically determine execution behavior (halting problem). There's not a lot of things in this category. Some that come to mind are Cue and Dhall.
Hashicorp HCL2 might also be, but I don't know if they are turning-complete off the top of my head.
Some blog suggests it actually is TC, but I cannot corroborate.
Starlark/bazel is TC.
You can add Berkeley Packet Filters and BLooP to the list of TI languages: https://www.quora.com/What-is-an-example-of-a-Turing-incomplete-language https://www.quora.com/What-is-an-example-of-a-Turing-incompl...
https://news.ycombinator.com/item?id=28915655 https://news.ycombinator.com/item?id=28915655
https://dhall-lang.org/# https://dhall-lang.org/#
https://njoseph.me/mediawiki/DevOps/Terraform https://njoseph.me/mediawiki/DevOps/Terraform
- jvolkman 5y agoI believe Starlark being turing-complete would be a bug. The language takes steps to avoid it by disallowing recursion and only allowing iteration over finite sequences.