Designing Lispy DSLs, part 1: SCSS (2012)
15 points by FedericoSchonborn
15 points by FedericoSchonborn
So that's a DSL as in "a s-expression wrapper around an existing language", adding a layer of indirection. There's also "DSL" as in "my program's functions and control structures morph into my application's own little language", in theory bringing expressiveness and conciseness. I think that in practice the lisp syntax (or lack therefore) allows to quickly have the feeling you're using your own DSL, even if you're only using functions and maybe one simple macro. I don't think I was illuminated by "the power of DSLs" so far. Maybe that'll come. The one good freeing feature is code-is-data-is-code (and the CL environment 8-) ).
a s-expression wrapper around an existing language
I'm fascinated by how many of these are proliferating lately. At first there were many hosted Clojures like on dart, but now there are many Fennel-likes; Lisp syntax on top of any existing semantics is a great enhancement to those semantics.