dub: JSON, SDL, YAML, TOML, what color should we paint it ?
Petar
Petar
Wed Mar 1 15:12:25 UTC 2023
On Tuesday, 28 February 2023 at 15:34:45 UTC, Bradley Chatha
wrote:
> On Tuesday, 28 February 2023 at 15:22:41 UTC, Bradley Chatha
> wrote:
>> ...
>
> Adding onto my reply: Adopting HCL could be a potentially
> strange but interesting choice since it has a slightly more
> extensive (though still limited) feature set for a config
> language, namely: interpolation; ability to call but not define
> functions, and support for certain kinds of expressions such as
> list comprehensions (at least I think that's native to the
> language and not a Terraform addon).
>
> Of course there's still the lack of an implementation available
> to D though.
At this point, we may as well choose to use [Nix][0] given that
its [expression language][1] is surprisingly expressive compared
to how [simple it is][2] for a Turing-complete language (or its
likely future successor - [Nickel][3]). Looking solely at its
expression language, I'd say it's much better thought out
compared to HCL, while if you look at the combination of Nix +
Nixpkgs, it's undeniably a better fit for build systems.
The benefit of using Nix is that this would allow seamless
integration with its huge collection of packages, which
[dwarfs][4] those of most other system package managers. Of
primary interest being the libraries which D can interface with
via `extern (C)` / `extern (C++)` - e.g. for projects containing
components written in mutiple programming languages. Another
bonus point is how [active][5] its community is.
[0]: https://nixos.org/
[1]: https://nixos.org/manual/nix/stable/language/index.html
[2]: https://learnxinyminutes.com/docs/nix/
[3]: https://github.com/tweag/nickel/blob/master/RATIONALE.md
[4]: https://repology.org/repositories/graphs
[5]: https://github.com/NixOS/nixpkgs/pulse/weekly
More information about the Digitalmars-d
mailing list