2 ms·
Original LISP was pretty much a DSL for symbolic computation, something that wasn't exactly catered to at the time (it wasn't first, but it was so early in comp
by p_l 4y ago
Original LISP was pretty much a DSL for symbolic computation, something that wasn't exactly catered to at the time (it wasn't first, but it was so early in computing you could write a Master's Thesis about IF-THEN-ELSE construct).
That said, various Lisp Machine systems as well as internals of Lisp implementations often contain DSL for implementing the OS/language, sometimes with many smaller DSLs (while the ur-example is "LOOP" macro from MIT, my favourite is a file from Genera bearing a comment - paraphrased - "behold, I implement half of PL/I to implement structure packing into byte vectors").
Of course, in languages like Lisp or TCL the separation between DSL and main language is not so stark as in case of DSLs implemented in let's say C or Java.