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 compiler is distributed under a 2-clause BSD license.
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.
Anonymous
Tue 11-Dec-2018 17:44
if I have an object in a closed transparent container how do I override the default 'you can't reach obj' take fail message?
(instead of [take *]) doesn't seem to work in this case (scope?)
Anonymous
Tue 26-Dec-2023 19:49
Why is an asterisk needed to make a berry a type of fruit in:
(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
Anonymous
Thu 15-Feb-2024 03:13
Dialog development came to a standstill several years ago. Is it now a dead language?
Anonymous
Wed 3-Sep-2025 15:41
Can't compile on Windows (in MSYS) because this uses termios.h and ioctl.h. Definitely not a good decision.
Anonymous
Sat 20-Dec-2025 17:31
Can't compile on Windows (in MSYS) because this uses termios.h and ioctl.h. Definitely not a good decision.
That's okay: you can make better decisions next time.