Zoo of domain-specific languages
We start by giving examples of:
– formatting languages
– query languages
– Scratch-like languages
– XML-based languages
– logic programming languages
– “math-based” languages
– languages supporting illustrative programming
– languages supporting projectional editing
Here is the full list of languages that are mentioned: HTML, Markdown, CSS, SASS, LESS, SQL, LaTeX, DOT, Logo, Scratch, LEGO Mindstorms NXT, SVG, XAML, XML, JSON, YAML, build languages, LISP, COBOL, Prolog, Isabelle/HOL, Actulus Modeling Language, Business Rule Designer, Solidity, Alloy, R, Matlab, Microsoft Excel (as an example of illustrative programming environment), Microsoft Access, Microsoft Frontpage, Mathcad, mbeddr.
List of sources for images in slides
– https://www.mssqltips.com/tutorialImages/11_SingleColumnSelectStatement.jpg
– http://sqlmag.com/content/content/22264/figure_07.gif
– http://static.listoffreeware.com/wp-content/uploads/2013/texrendr_full_07042015.png
– https://upload.wikimedia.org/wikipedia/commons/b/b7/KTurtle_sqaresss.logo.png
– https://raw.github.com/trun/flashblocks/master/static/logoblocks.png
– https://i.stack.imgur.com/J9vcl.png
– http://socrates.bmcc.cuny.edu/mkok/robot.jpg
– http://www.petelepage.com/assets/svg_in_vs2010.jpg
– http://michaelcrump.net/files/image_634588656988511234.png
– https://docs.elementscompiler.com/Oxygene/Delphi/WPFDesigner.png
– https://ak8.picdn.net/shutterstock/videos/6441428/thumb/1.jpg
– http://www.endlessicons.com/wp-content/uploads/2012/09/exclamation-mark-icon-614×460.png
– http://wiki.servicenow.com/images/6/66/MID_config_xml.png
– https://upload.wikimedia.org/wikipedia/commons/7/7c/Gnu_grub_config_file.png
– http://2.bp.blogspot.com/-XaToUi9Zetc/VCV5BKKgFiI/AAAAAAAAAV8/phGQ_QsIYPY/s1600/1.png
– http://www.computerstepbystep.com/wpimages/wp4bcbdc4a_01.png
– https://www.howtogeek.com/wp-content/uploads/2012/03/xcd.png.pagespeed.gp+jp+jw+pj+ws+js+rj+rp+rw+ri+cp+md.ic.wyYLAq2qT5.png
– https://docs.jboss.org/drools/release/6.0.0.Final/drools-docs/html/images/kie/BuildDeployUtilizeAndRun/defaultkiesession.png
– http://pages.cs.wisc.edu/~psilord/lisp-public/releases/cl-mw/0.3/ref-0.3/img14.png
– https://image.slidesharecdn.com/clojuredsl-150218084044-conversion-gate01/95/writing-dsl-in-clojure-16-638.jpg?cb=1424270496
– https://image.slidesharecdn.com/clojuredsl-150218084044-conversion-gate01/95/writing-dsl-in-clojure-20-638.jpg?cb=1424270496
– https://image.slidesharecdn.com/clojuredsl-150521133250-lva1-app6892/95/dsl-in-clojure-23-638.jpg?cb=1432215295
– http://www.semdesigns.com/Products/StyleChecker/images/Style-Checker-with-Diagnostic-Selected.PNG?Home=COBOLStyleChecker
– http://wiki.visual-prolog.com/images/d/d2/Fundamental_Prolog_2_fig1.jpg
– https://i.ytimg.com/vi/AhybiY0JHvg/maxresdefault.jpg
– http://www.flexrule.com/wp-content/uploads/2013/08/flexrule_designer_nl2.png
– http://www.flexrule.com/wp-content/uploads/2015/08/flexrule_designer_nl2.png
– http://www.flexrule.com/wp-content/uploads/2013/08/flexrule_designer_tree2.png
– https://i.stack.imgur.com/FIkx1.png
– https://arc.lib.montana.edu/book/statistics-with-r-textbook/meta/img/Figure0.4.jpg
– https://www.mathworks.com/content/mathworks/www/en/company/newsletters/articles/from-matlab-to-embedded-c/_jcr_content/mainParsys/image_1.img.gif/1469941485575.gif
– http://www.aquaphoenix.com/lecture/matlab3/images-large/matlab_nestedloop_matrix_double.jpg
– https://www.techonthenet.com/excel/formulas/images/if002.png
– http://jessica-iannone.com/img/business/03_ArchSummQry.jpg
– https://www.techonthenet.com/access/database/images/display_all2013_002.gif
– https://strokescribe.com/en/pic/access-xp/table-constructor.png
– https://www.quackit.com/pix/microsoft_access/microsoft_access_2016/tutorial/use_the_expression_builder_in_microsoft_access_4.png
– https://media.codeweavers.com/pub/crossover/website/appdb/144b9b7dbd4b30de1cc8fc2c10ba5c25.png
– http://www.adeptscience.co.uk/wp-content/uploads/2012/03/MathcadMandelbrot.png
– http://www.dreamincode.net/forums/uploads/monthly_10_2013/post-638519-13816893873.png
– http://mbeddr.com/images/math.png
– http://mbeddr.com/images/blog/graphicalSM.png
– https://www.computerhope.com/jargon/r/regular-expression.gif
– https://media.licdn.com/mpr/mpr/shrinknp_800_800/AAEAAQAAAAAAAAlvAAAAJDBkNDQ2ZGJlLWMyMzMtNDg1OS05MjlkLTA0YTMwZjdhMTI2ZQ.png
Additional material
- T. Berger, Domain-Specific Languages (DSLs): motivation, concepts, examples
- J. Bentley: Little Languages
- P. Hudak: Domain Specific Languages
- P. Hudak: Modular Domain Specific Languages and Tools
- A. van Deursen, P. Klint, J. Visser, Domain-specific languages: an annotated bibliography
- E. Visser, Martin Bravenboer: Concrete Syntax for Objects
- How to Write a New Programming Language – A Tutorial (video)
- Lego Mindstorms language implemented in JetBrains MPS
- Screencasts on mbeddr
Other DSLs
- DataUx: user interface description language
- M. Trzaska, GCL: An Easy Way for Creating Graphical User Interfaces
- R. de Groot: Implementation of the Java-Swul language, a domain-specific language for the SWING API embedded in Java
- Writing GUI apps using the Red Programming Language
- Wikipedia page on ATLAS Transformation Language
- R. A. van Engelen, ATMOL: A Domain-Specific Language for Atmospheric Modeling
- PlantUML (tool, examples)
- Robotics DSL Zoo
- Financial domain-specific languages