I interpret it as "What advantage Dhall has compare to CL:read?"
So for example, in your configuration, you can define a common expression into a variable (or even parametrize it in a function). CL:read cannot do that without resorting to read macros (technically it doesn't have to be read macros, you can reinterpret it later, but then we are getting outside the realm of CL:read), which are Turing complete and can have bugs that can lead to security exploits.
Dhall guarantees that the functions you define in your configuration cannot be exploited.
This has interesting implications, for example, you can read configuration safely from semi-trusted source. With CL:read, you can do that only if you give up read macros, but then the semi-trusted source cannot define their own function.
So where with CL:read you have to choose between little and total power, Dhall gives you a little bit of both, a medium power of sorts.
So for example, in your configuration, you can define a common expression into a variable (or even parametrize it in a function). CL:read cannot do that without resorting to read macros (technically it doesn't have to be read macros, you can reinterpret it later, but then we are getting outside the realm of CL:read), which are Turing complete and can have bugs that can lead to security exploits.
Dhall guarantees that the functions you define in your configuration cannot be exploited.
This has interesting implications, for example, you can read configuration safely from semi-trusted source. With CL:read, you can do that only if you give up read macros, but then the semi-trusted source cannot define their own function.
So where with CL:read you have to choose between little and total power, Dhall gives you a little bit of both, a medium power of sorts.