3 ms·
I have two responses to this: First, I don't think he quite gets what the Racket folks mean by "language oriented programming." They're not talking about addin
by madhadron 7y ago
I have two responses to this:
First, I don't think he quite gets what the Racket folks mean by "language oriented programming." They're not talking about adding stuff to the whole language. They're talking about making the toolbox for generating languages and connecting between them so straightforward that you build something more than DSLs, more like adapted variants that share some kind of common semantic core.
Second, a human language is a mechanism for establishing and playing language games. A programming language, like any other formal notation, is a means of expressing the subjects of a range of language games. Consider the various language games you play on a function: summarizing, calculating run time complexity, simulating, listing side effects... Language oriented programming is a way of saying that there are often specialized language games that are important in a particular context but nonsense outside of that context, and it would be nice to make it easy to engage in them in that context without trying to force the whole world into that image.