Live data from Hacker News

The Dhall Configuration Language

dhall-lang.org

91–100 of 192 posts

Re: The Dhall Configuration Language

#91

I really hope that one day Google can open source GCL, which so many languages have been inspired by without ever really being as good as it is. They all claim to address pitfalls in GCL but at the end of the day they're just worse than GCL.

And yet, even if they did it right now, it'll be over there in the pile of "yet another configuration language" for the same reason we already have like 50 of them

Damn network effect, ruining everything :-/

Re: The Dhall Configuration Language

#93

I really hope that one day Google can open source GCL, which so many languages have been inspired by without ever really being as good as it is. They all claim to address pitfalls in GCL but at the end of the day they're just worse than GCL.

Can you say more about what GCL does better than all of the open source ones?

Anecdotally, I've heard a lot of GCL horror stories, and many Xooglers have chosen to create things like Jsonnet or Skycfg (https://github.com/stripe/skycfg) instead.

Re: The Dhall Configuration Language

#94
Used this for a fairly complex, large project.

It really is Haskell for configuration language and undoubtedly superior than YAML.

But for my grug brain, function currying and the lack for loops made it hard.

Functional languages continue to be a great place to steal from but pure functional requires warping your brain quite a bit.

Maybe Tanka is more my style

Re: The Dhall Configuration Language

#95
I have been writing a fair amount of Dhall using autogenerated CloudFormation bindings ( https://github.com/jcouyang/dhall-aws-cloudformation/ ). It is a fantastic way to reduce boilerplate and factor out recurring blobs. My main frustration is that the type checker is not smart enough (or maybe the type system is undecidable?) - every time you want to use a polymorphic function, you must pass in the type parameters yourself (this is also true for empty lists and `None`). This makes simple FP idioms extremely noisy, to the point where you're better off writing longhand. In a language that's meant to be alleviating YAML/JSON boilerplate.

It's still a massive improvement, but it could be so much better if the typechecker was smarter.

Re: The Dhall Configuration Language

#96
post #31

Apparently I'm in the minority that feels config languages should be little more than namespaces and key-value storage and should not be programmable. I would not want to use a bash script as a config file, for example.

People tend to evaluate these things based on what cool and neat things they can do it with. Not whether telling people they need to learn Haskell before they can update what would've been a 30 line configuration file on the project they just joined is a good use of peoples' time.

Re: The Dhall Configuration Language

#97
post #4

Tried to use it and it didn't fit my usecase: Recursive Types are a bit difficult Looks great otherwise

what kind of software configuration may require recursive types? I've never had to encode trees in my configs so far.

An explicit representation of JSON requires recursive types.

Re: The Dhall Configuration Language

#98
post #88

Whatever happened to Puppet, Ansible or Salt frameworks? They were the darling of the devops folks 7 years back.

They are different to Dhall. Puppet, Anisble and Salt are task runners. You give them configuration and they parse the configuration and then run tasks on a destination machine based on the configuration.

Dhall is a tool to generate configuration such as json, yams, xml. It’s useful if you have *complex* configurations such as a AWS Cloudformation stack or Kubernetes yaml files.

Re: The Dhall Configuration Language

#99

I work on a deployment tooling team. In 2019/2020 we did a deep dive into Dhall vs. Jsonnet^1 for standardizing config and kubernetes templating across my company (Zendesk). We ended up going with Jsonnet (although some Dhall evangelists in the company have kept the dream alive!), which I think is a more approachable language for many, but Dhall has a lot of cool features and good things going for it. Jsonnet is far…

CUE is far superior to Jsonnet from my experience. The Validation and abstractions feel much more native

Re: The Dhall Configuration Language

#100

I really hope that one day Google can open source GCL, which so many languages have been inspired by without ever really being as good as it is. They all claim to address pitfalls in GCL but at the end of the day they're just worse than GCL.

Isn't CUE basically that?

https://cuelang.org/docs/about/#history

Post reply on HN