by ggktk on 7/2/22, 1:21 PM with 16 comments
by gfodor on 7/2/22, 2:26 PM
The concept kind of came and went, the two projects that really went all in on the idea were JetBrains MPS (still alive) and Intentional Software (now dead.)
Edit: MPS has some case studies on their site that nicely demonstrate the concept here - as you can tell, it’s very different than the way we typically use DSLs :)
Edit2: they have a pretty good video that explains the core concept above here: https://m.youtube.com/watch?v=eEUMAx3g6do
by recursivedoubts on 7/2/22, 2:02 PM
by Turing_Machine on 7/2/22, 1:25 PM
It's not an either/or relationship, at least not in my experience.
by PaulHoule on 7/2/22, 1:46 PM
by sto_hristo on 7/2/22, 2:44 PM
by zzo38computer on 7/2/22, 6:40 PM
Sometimes, it is helpful to use another programming language and to use the full capabilities of other programming languages. Sometimes, other programming languages are unsuitable for various purposes, including that you do not want the full capabilities, or they do things which are undesirable for this use, etc. It depends on the program that uses them, probably. (Note also that, some programming languages will work better for the purpose of embedded DSL, than other ones will be, although it also depends on the specific use, too.)
However, some programming languages can be usable for multiple uses, e.g. PostScript is both general purpose and special purpose, as well as both text and binary format, and some people have said, also both esoteric and non-esoteric at the same time, too. And, many DSLs can be embedded in other programming languages and can be helpful, but that is not always the case; sometimes it isn't helpful.
Some game programs such as ZZT, MegaZeux, PuzzleScript, MESH:Hero Hearts, and Free Hero Mesh have their own programming languages. I invented Free Hero Mesh, and had designed it for this purpose. I also have idea of a format for Magic: the Gathering cards which can be executed in computer (a special design for this purpose may have many advantages including that AST-based text-changing effects can work).
There can also be data formats. JSON has some disadvantages (including: lack of comments, using Unicode, no optional trailing commas, no 64-bit integers, no directly blobs (they must be encoded), and other problems), so other formats can be helpful to be an improvement for some uses. RDF has some problem so I made up DRDF. And then, other format again, can be useful for different purposes; they will not all need the same things.
by 112233 on 7/2/22, 5:46 PM
Here is an example of a DSL program, with the output: https://www.contextfreeart.org/gallery/view.php?id=3779 Could you do it in Java? Yes! Could you so effortlesly experiment and arrive at this, simply by experimentin with your code? Hmm.
by gitgud on 7/2/22, 1:48 PM
by fmajid on 7/3/22, 8:54 PM
by Mandatum on 7/3/22, 12:04 AM
by smitty1e on 7/3/22, 1:37 AM
by Cloudef on 7/2/22, 2:59 PM