Dialog – A domain-specific language for creating works of interactive fiction
linusakesson.net
linusakesson.net
It’s quite elucidating to see how different the constructs of a programming language can be when the constraints are so different. For example, Ink is designed to produce spaghetti code, because a narrative is more spaghetti shaped, so there is no call stack. Another peculiar thing is that by default, a link will only be used once, because in most narratives you don’t want to read the same thing over and over again.
1: https://github.com/inkle/ink/blob/master/Documentation/Writi...
Though not perfect, ChoiceScript is a lot closer to what seems like a good DSL for writing interactive fiction, since it remains readable without a lot of special language constructs.
https://www.choiceofgames.com/make-your-own-games/choicescri...
With the source of a game in Inform 7: http://inform7.com/learn/eg/bronze/source.html
One of these looks much more like a programming language than the other; both compile to the Infocom virtual machine (or a direct descendant of it), both create Infocom-style Interactive Fiction rather than the choose-your-own-adventure style of Twine or ChoiceScript.