3 ms·
I would say, rather than being a DSL, the Mathematica language was informed by a particular goal. Much as Prolog, R, RPG, Perl, job control shells, etc., were
by reeses 14y ago
I would say, rather than being a DSL, the Mathematica language was informed by a particular goal. Much as Prolog, R, RPG, Perl, job control shells, etc., were born of a need to 'scratch an itch' and have found themselves pushed beyond that initial itch, Mathematica's Lisp-like syntax, pattern matching, term rewriting, and functional programming capabilities have resulted in a number of applications written by people who each push mma just a little bit further.
Most of these apps come from people in the target market, but it's similar to the number of Excel spreadsheets that end up running surprisingly large companies. A "non-programmer" develops a bunch of macros and VBA code to make their job easier, and those "DSL" type capabilities become critical core aspects of the system.