Hacker News new | ask | show | jobs
by tyingq 3176 days ago
That was my question as well. This doesn't seem substantially different than the dynamic include/require/eval functionality in many interpreted languages like Python, Ruby, Perl, PHP, etc.
1 comments

The primary distinction from a dynamic language is that Dhall is typed, total, and does not permit arbitrary effects (only importing other code is allowed), so it's safe to evaluate arbitrary remote code and it's also safe to use Dhall expressions to configure programs since they consist of nothing but pure functional logic. Dhall is first and foremost a programmable configuration language so safety is one of the primary language requirements
Sounds a bit like safe tcl, a subset of tcl you could embed into your own program for untrusted scripts.

https://www.tcl.tk/software/plugin/safetcl.html

Minus the type safety, functional approach, etc...but similar in purpose.

Yes, that's a good analogy

However, I think the more important thing I'm trying to fix is how we compose code. The Rube-Goldberg machine the post refers to is the complicated mechanisms we have to deal with for combining code fragments. Reading in a value shouldn't be any different from reading in code and shouldn't require any more overhead than just copy-and-pasting a URL into your program