DSL Engineering: Designing, Implementing, Using Domain-Specific Languages (2013) [pdf]
voelter.de
voelter.de
Additionally the hotswapping allows me to interact with the application in real time, just like a GUI. Pretty powerful stuff.
And what ? 500+ pages donation ware, that's altruism. Thank to the author.
His 2010 paper [1], "From Programming To Modeling – and back again", talks about other modeling projects, including the Charles Simonyi (inventor of MS Word and Hungarian notation) company Intentional Software. Microsoft recently bought [2] Intentional (with its DSL workbench) and the technology will continue in the Microsoft Office / Productivity division.
[1] http://voelter.de/data/articles/FromProgrammingToModeling-1....
[2] http://www.intentional.com/charles-simonyi/
"Real surfaces in the world can hold many forms of information, for instance: drawings, memos, messages, stickers, notes, or maps ... Similarly, the surfaces on the new devices should show all kinds of data side-by-side and interwoven as a universal surface ... You would be “interacting with the documents” themselves rather than with apps as such.
Now combine these scenarios with the new capabilities in machine learning and knowledge representation. In the spreadsheet era, we had a very simple ontology, which was really divisions of data into types: numbers, text, and maybe dates. Since then, powerful web services emerged by giving these simple types more precise semantics: the text is a product to buy, the number is its price, or the text is the name of your friend and the number counts the “likes.”
Even with just a handful of such “domain specific” terms the value of services to the user has already soared. Imagine then, the power of an ontology consisting of thousands of terms covering most of the common activities that comprise our personal and professional lives ranging from life transitions, education, entertainment, buying and selling. Curating and exploiting such an ontology will be as important as the hardware and software surfaces that activate it.
The Intentional platform can represent domain specific information both at the meta-level (as schemas) and at the content level (as data or rules). It has patterns for distributed interactive documents and for views for a universal surface."