dhall-lang / dhall-lang

Maintainable configuration files
https://dhall-lang.org
BSD 3-Clause "New" or "Revised" License
4.23k stars 174 forks source link

Discussion: Jsonnet, Dhall, and other insights #1311

Open ghostsquad opened 2 years ago

ghostsquad commented 2 years ago

Hi Dhall Folks!

I'd like to gain some insight into the history of Dhall and how you would compare it to other languages like Jsonnet, what's good, what's bad, what's notable differences?

Thank you for your time!

Gabriella439 commented 2 years ago

The way I like to explain the tradeoff between the languages is by the following table:

Superset of JSON Programming Language Typed
Dhall
Cue
Jsonnet

I've been working on another language to try to satisfy all three requirements, but it's intended more as a basis for creating other languages: https://www.haskellforall.com/2021/09/fall-from-grace-ready-to-fork.html

ghostsquad commented 2 years ago

@Gabriella439 oh thank you for the matrix. This definitely helps. Is there any more you can share, even anecdotal?

ghostsquad commented 2 years ago

What about lazy evaluation? That's a big feature for me in regards to Jsonnet

kukimik commented 11 months ago

If you like the matrix here, you might also be interested in https://github.com/tweag/nickel/blob/e1113af36842a1012494342a95f76a7973495961/RATIONALE.md.

I'd like to gain some insight into the history of Dhall

You may want to read the Dhall related posts here: https://www.haskellforall.com/.

And if you want to do some historical research on your own, the issue trackers of projects in https://github.com/dhall-lang/ and https://discourse.dhall-lang.org/ seem a good place to start digging.