Downloads, by language
trygve
The trygve language, built as a DCI-centric language from the ground up. Open source on Github.
- Download executables for the trygve environment and command-line tool
- In ZIP format
- Or in TAR format
- The executables requires Java to be installed, at least version OpenJDK 17, which can be downloaded here, or installed with the package manager on your system.
- After unpacking the executables to a directory of your choice, open a terminal there and start trygve with
bin/trygve
.
The trygve user manual is available online, and even if you're not using trygve, it's worth a read as a great introduction to DCI in general.
C++
- Download of C++ Account/Money transfer example (TAR file)
- Dijkstra's Algorithm in C++ (TAR file)
Marvin
- Marvin - A language designed specifically for DCI, based on C#. Open source on Github.
- Account/Money transfer example (ZIP file)
- Front loader example (ZIP file)
Squeak/Smalltalk
- BabyIDE (Squeak / Smalltalk) Downloads
- BabyIDE latest Squeak image with helper objects (ZIP file)
- BabyIDE Squeak image for ESUG 2014 Shapes animation talk. (ZIP file)
DCI Libraries, by language
Haxe
haxedci
Author: Andreas Söderlund
Javascript
babel-dci
Author: Matt Browne
PHP
dci-php
Author: Matt Browne
Python
Roles
Author: Arjan Molenaar
Ruby
Maroon
Author: Rune Funch
Scala
ScalaDCI
Author: Marc Grue
Partial implementations
The following libraries have some limitations, doesn't have true DCI semantics, or is proof-of-concept, but can still be useful.
C#
ivento-dci
Author: Andreas Söderlund
Javascript
Runtime-only implementation
Author: Egon Elbre
PHP
DCISniffer
Author: Andreas Söderlund
TypeScript
ESLint plugin library
Author: Andreas Söderlund