On Declarative Languages
Monday, 28 July 2008
Domain specific languages (DSLs) are usually implemented as declarative languages, where the only data is expressed, and invariant rules are coded into the language interpreter itself.
Dave Herman has thought through some of the practicalities of using declarative languages, particular when a complex system has to be broken up into modules. This leads to problems like overriding, specificity of rules, recursion.
Other problems with DSLs include
1) difficulty in debugging. It is hard to debug data, add breakpoints
2) difficulty in showing derivation of results.
3) error handling is hard