Skip to content
Snippets Groups Projects

Dusk

Dusk programming langauge

Welcome to Dusk!

Dusk is a simple, compiled programming language with modern syntax which is inspired by programming languages like Swift, Rusk and Kotlin.

Dusk was developed as a semestral assignemnet for BI-PJP course on Faculty of Infomatics at CTU and is not intended to have long-time support.

Build requirements

Dusk can be built on any platform that supports C++17, LLVM 6.0 and CMake 3.4.

Homebrew

brew install cmake llvm

Linux

sudo apt-get install git cmake clang clang-dev python pkg-config

Getting Sources

Easiest and frankly the only way how to get dusk sources is to clone the dusk repo.

SSH

git clone git@gitlab.fit.cvut.cz:mattapet/dusk-lang.git
cd dusk-lang

HTTPS

git clone https://gitlab.fit.cvut.cz/mattapet/dusk-lang.git
cd dusk-lang

Building Dusk

Dusk uses CMake build tool. To properly build dusk, you need to have CMake 3.4 or highet installed and properly set up LLVM_CONFIG enviromental variable. It should be set to the root directory of LLVM CMake library.

Dusk's default build target is a library for working with Dusk source files. Besides the library the dusk project also provides a compiler duskc and a formatter of dusk code dusk-format. Sources for these executables may be found in tools directory.

The build results may be found in bin directory.

Examples

To try Dusk in action check out examples folder containing a few really simple programs written in dusk. Most of them have sematic equivalent in Pascal commented at the bottom of the file.