4 ms·
That's kind of like saying C isn't an alternative to assembly, it's an assembly generator.
by eridius 7y ago
That's kind of like saying C isn't an alternative to assembly, it's an assembly generator.
- HelloNurse 7y agoOn a practical level, C is an alternative to assembly because the appropriate black-box tools and combinations of tools allow the user to easily turn source code in either Language or a combination of both into an executable. Generating assembly from C is an implementation detail, and many C compilers don't do that. On the other hand, Dhall really is a YAML generator: the available tools allow only one-way conversion (in particular, there is no interpreter/library to ingest Dhall from the configured application itself).
- eridius 7y agoDhall is also a JSON generator. And you could write your own Dhall implementation that lets you consume it directly from an application if you want to, it's just nobody's considered that worth doing.
- hjk05 7y agoWhich is odd because tons of applications in the wild already have this amazing capability of directly consuming python and Haskell without first converting to yaml. But of cause you still have the ability to both produce and consume yaml if that’s needed for some reason.
- eridius 7y agoWhat applications directly consume Haskell code? The only examples I can think of off the top of my head are apps written in Haskell that actually get recompiled any time you change the "configuration" Haskell code. As for Python, that's because the Python interpreter can be embedded in an app. That said, Dhall is exposed as a Haskell library, so if you're writing a Haskell app you could consume Dhall directly and skip the YAML. https://hackage.haskell.org/package/dhall-1.24.0/docs/Dhall-Tutorial.html https://hackage.haskell.org/package/dhall-1.24.0/docs/Dhall-... shows examples of this.
- singpolyma3 7y ago> in particular, there is no interpreter/library to ingest Dhall from the configured application itself Not true. Perhaps this needs to be highlighted more prominently on the homepage. There are directly language bindings for Ruby, Haskell, and the JVM with more on the way.