4 ms·
DSLs are most suited to constrained execution spaces - where you know that there are relatively hard limits on what it is that the resultant program will have t
by crdoconnor 9y ago
DSLs are most suited to constrained execution spaces - where you know that there are relatively hard limits on what it is that the resultant program will have to do. The problem is that build systems are not really a constrained execution space - there's too often a lot more required than just specifying a dependency tree and just saying 'make it happen'.
As with many 'simplified' DSLs that are often unsuited to the task at hand (e.g. C++ templating), make (or versions of it, anyway), evolved to accommodate these use cases and then morphed into something that accidentally became turing complete: https://stackoverflow.com/questions/3480950/are-makefiles-turing-complete https://stackoverflow.com/questions/3480950/are-makefiles-tu...
- mschaef 9y ago> As with many 'simplified' DSLs that are often unsuited to the task at hand (e.g. C++ templating) Isn't a C++ template the exact opposite of 'Domain Specific'?