Also, as I recall, the Notion of RelVars made it sound functional
Each Relational Operator, returned a RelVar
So you were passing RelVars between operators until you get the result you want, which was a RelVar
Anyway this is from memory, so I maybe be wrong on many things .. but again from memory D or tutorial D sounded a lot less DSL-ish and lot more functional than SQL , which was an improvement in my mind
Chris Dates' D ( not to be confused with Walter Bright D) looks more like a regular programing language
And was functional
So I think an language can add a library or an extension that act like D, or simulate D
Check this to get an idea https://reldb.org/c/wp-content/uploads/2017/12/Rel-and-Tutor...
Also, as I recall, the Notion of RelVars made it sound functional
Each Relational Operator, returned a RelVar So you were passing RelVars between operators until you get the result you want, which was a RelVar
Anyway this is from memory, so I maybe be wrong on many things .. but again from memory D or tutorial D sounded a lot less DSL-ish and lot more functional than SQL , which was an improvement in my mind