Our great sponsors
-
WorkOS
The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.
Declarative languages are essentially configuration languages like JSON. Those languages do no always have substantial control flow. Programmable configuration languages do have some control flow though. Languages such as Nix, Nickel, Dhall, etc (there's a list of them at the bottom of the Nickel README here: https://github.com/tweag/nickel).
I agree with you, but I see this as a strength rather than a weakness. A current trend in high-performance computing is to separate the declarative part of a program from its execution strategy (see Halide). This makes it possible to run the same program on different hardware in a performant way and be actually sure that it is the same program.