Structure and Interpretation of Computer Programs, Video Lectures. Massachusetts Institute of Technology Department of Electrical Engineering and Computer Science Video Lectures by Hal Abelson and Gerald Jay Sussman Structure and Interpretation of Computer Programs has been MIT's introductory pre-professional computer science subject since 1981.
It emphasizes the role of computer languages as vehicles for expressing knowledge and it presents basic principles of abstraction and modularity, together with essential techniques for designing and implementing computer languages. This course has had a worldwide impact on computer science curricula over the past two decades. The accompanying textbook by Hal Abelson, Gerald Jay Sussman, and Julie Sussman is available for purchase from the MIT Press, which also provides a freely available on-line version of the complete textbook. Lisp Isn’t Really a Programming Language.
In Lisp, DSL’s are free.
In fact, practically any program written in Lisp could be considered to be a DSL. First Class Procedures are a big part of this. Any procedure you write becomes a part of the programming language– your procedures are indistinguishable from the built-in ones. How to Design Programs. MIT 6.001 Structure and Interpretation, 1986. Lisp.