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