Luci is a programming language.

Source can be found, here:
Documentation, here:

Luci is an optionally typed scripting language. It is developed in C++, has no external dependencies and is about learning what it takes to create a realistic (scripted) programming language. It has its roots in

Luci has following:

  • A syntax that is a mix of C, C++ and Python
  • Supports imperative, object-oriented and functional style of programming
  • Supports optional typing
  • REPL


Hello world

let const words : [str] = [

print(" ".join(words));


let fibonacci = fn(x : int) -> int {
    if (x<=1) {
        return x;
    return fibonacci(x-1)+fibonacci(x-2)


Optional Typing

let words = [

words[0] = 5.0;     // this is ok

let const const_words : [str] = [

const_words[0] = 5.0;     // this is an error, because of const and type mismatch of double vs str