Dialog
Dialog is a domain-specific language for creating works of interactive fiction. It is heavily inspired by Inform 7 (Graham Nelson et al. 2006) and Prolog (Alain Colmerauer et al. 1972).
An optimizing compiler, dialogc, translates high-level Dialog code into Z-code, a platform-independent runtime format originally created by Infocom in 1979.
Since Dialog version 0d/01 there's an interactive debugger, and since version 0g/01 there's a separate backend for the Å-machine story format.
The main discussion is happening at the intfiction.org forum, in the Dialog category.
Manual
The Dialog Manual will tell you everything about the latest version.
Brief notes for each new release appear in this forum thread.
Download
- dialog-0m03_0_46.zip (Dialog, release 0m/03, library 0.46, 3.2 MB)
- dialog-0m02_0_45.zip (Dialog, release 0m/02, library 0.45, 3.2 MB)
- dialog-0m01_0_44.zip (Dialog, release 0m/01, library 0.44, 3.2 MB)
- dialog-0k06_0_43.zip (Dialog, release 0k/06, library 0.43, 3.2 MB)
- dialog-0k05_0_42.zip (Dialog, release 0k/05, library 0.42, 3.2 MB)
- dialog-0k04_0_41.zip (Dialog, release 0k/04, library 0.41, 3.2 MB)
- dialog-0k03_0_40.zip (Dialog, release 0k/03, library 0.40, 3.2 MB)
- dialog-0k02_0_39.zip (Dialog, release 0k/02, library 0.39, 3.2 MB)
- dialog-0k01_0_39.zip (Dialog, release 0k/01, library 0.39, 3.2 MB)
- dialog-0j04_0_38.zip (Dialog, release 0j/04, library 0.38, 3.2 MB)
- dialog-0j03_0_37.zip (Dialog, release 0j/03, library 0.37, 3.2 MB)
- dialog-0j02_0_36.zip (Dialog, release 0j/02, library 0.36, 2.9 MB)
- dialog-0j01_0_35.zip (Dialog, release 0j/01, library 0.35, 2.9 MB)
- dialog-0i03_0_34.zip (Dialog, release 0i/03, library 0.34, 2.8 MB)
- dialog-0i02_0_34.zip (Dialog, release 0i/02, library 0.34, 2.8 MB)
- dialog-0i01_0_33.zip (Dialog, release 0i/01, library 0.33, 2.8 MB)
- dialog-0h05_0_32.zip (Dialog, release 0h/05, library 0.32, 2.8 MB)
- dialog-0h04_0_31.zip (Dialog, release 0h/04, library 0.31, 2.8 MB)
- dialog-0h03_0_30.zip (Dialog, release 0h/03, library 0.30, 2.7 MB)
- dialog-0h02_0_30.zip (Dialog, release 0h/02, library 0.30, 2.7 MB)
- dialog-0h01_0_30.zip (Dialog, release 0h/01, library 0.30, 2.7 MB)
- dialog-0g06_0_29.zip (Dialog, release 0g/06, library 0.29, 2.7 MB)
- dialog-0g05_0_28.zip (Dialog, release 0g/05, library 0.28, 2.7 MB)
- dialog-0g04_0_27.zip (Dialog, release 0g/04, library 0.27, 2.7 MB)
- dialog-0g03_0_26.zip (Dialog, release 0g/03, library 0.26, 2.7 MB)
- dialog-0g02_0_26.zip (Dialog, release 0g/02, library 0.26, 2.7 MB)
- dialog-0g01_0_26.zip (Dialog, release 0g/01, library 0.26, 2.6 MB)
- dialog-stdlib-0-25.dg (Standard library 0.25, minor update, 121.7 kB)
- dialog-0f07_0_24.zip (Dialog, release 0f/07, library 0.24, 2.5 MB)
- dialog-0f06_0_23.zip (Dialog, release 0f/06, library 0.23, 2.5 MB)
- dialog-0f05_0_23.zip (Dialog, release 0f/05, library 0.23, 2.5 MB)
- dialog-0f04_0_23.zip (Dialog, release 0f/04, library 0.23, 2.5 MB)
- dialog-0f03_0_23.zip (Dialog, release 0f/03, library 0.23, 2.5 MB)
- dialog-0f02_0_23.zip (Dialog, release 0f/02, library 0.23, 2.5 MB)
- dialog-0f01_0_23.zip (Dialog, release 0f/01, library 0.23, 2.5 MB)
- dialog-0e03_0_22.zip (Dialog, release 0e/03, library 0.22, 2.5 MB)
- dialog-0e02_0_21.zip (Dialog, release 0e/02, library 0.21, 2.5 MB)
- dialog-0e01_0_20.zip (Dialog, release 0e/01, library 0.20, 2.5 MB)
- dialog-0d02_0_19.zip (Dialog, release 0d/02, library 0.19, 2.4 MB)
- dialog-0d01_0_19.zip (Dialog, release 0d/01, library 0.19, 2.4 MB)
- dialog-stdlib-0-18.dg (Standard library 0.18, minor update., 121.7 kB)
- dialog-0c05_0_17.zip (Dialog, release 0c/05, library 0.17, 1.1 MB)
- dialog-0c04_0_16.zip (Dialog, release 0c/04, library 0.16, 1.1 MB)
- dialog-0c03_0_15.zip (Dialog, release 0c/03, library 0.15, 1.1 MB)
- dialog-0c02_0_14.zip (Dialog, release 0c/02, library 0.14, 1.1 MB)
- dialog-0c01_0_14.zip (Dialog, release 0c/01, library 0.14, 1.1 MB)
- dialog-stdlib-0-13.dg (Standard library 0.13, minor bugfix., 127.5 kB)
- dialog-0b01_0_12.zip (Dialog, release 0b/01, library 0.12, 1.2 MB)
The release archive includes:
- Full source code for the Dialog compiler.
- Pre-built executable files for Linux (i386 and x86_64) and Windows.
- The latest version of the Dialog standard library, and the standard debugging extension.
- A copy of the manual.
The compiler is distributed under a 2-clause BSD license.
IFID Generator
For reasons outlined in the Treaty of Babel, the Dialog compiler may bug you about declaring a story-specific IFID. To generate the required declaration, simply click the button below.
Notable works
This is what Cloak of Darkness looks like in Dialog.
My IFComp 2018 game Tethered is the first published Dialog game.
Posted Thursday 22-Nov-2018 21:18
Discuss this page
Disclaimer: I am not responsible for what people (other than myself) write in the forums. Please report any abuse, such as insults, slander, spam and illegal material, and I will take appropriate actions. Don't feed the trolls.
Jag tar inget ansvar för det som skrivs i forumet, förutom mina egna inlägg. Vänligen rapportera alla inlägg som bryter mot reglerna, så ska jag se vad jag kan göra. Som regelbrott räknas till exempel förolämpningar, förtal, spam och olagligt material. Mata inte trålarna.
Tue 11-Dec-2018 17:44
(instead of [take *]) doesn't seem to work in this case (scope?)
52 more comments hidden. Click to show all.
Sun 29-Oct-2023 23:10
Any further thoughts?
Thank you.
Tue 26-Dec-2023 19:49
(berry #blueberry)
(berry #cherry)
(fruit #apple)
(fruit *(berry $))
from https://www.linusakesson.net/dialog/docs/traits.html
but an asterisk is not needed to make a stone a type of item in:
(item (stone $))
from https://www.linusakesson.net/dialog/docs/items.html
Thu 15-Feb-2024 03:13
Wed 3-Sep-2025 15:41