First prototype of قلب’s code calligraphy, done in square kufic with glass tiles. It says “لكل ن” (for each n) and matches the bottom-right part of the bubble sort calligraphy prototype on the language’s site.

In preparation for Eyebeam’s Open Studios later this week.

http://قلب-لغة-برمجة.com

قلب’s site is online with a description of the project and some sample code. It will grow into a full site soon, so keep an eye on it!

For those having trouble with the internationalized domain name, the site is mirrored at http://qlblang.org/, although this is certainly not the preferred method of access.

قلب: لغة برمجة

The name I’ve chosen for my Arabic programming language is قلب. It is pronounced Qlb (or ‘Alb in the Levantine Arabic I speak) and it is a recursive acronym standing for قلب: لغة برمجة, pronounced Qlb: Lughat Barmajeh. The full title translates to “Heart: A Programming Language” in English (although this ruins the acronym and is no fun).

Acronyms in Arabic are notoriously difficult to do. قلب is great because it doen’t ignore any word prefixes and is the only recursive Arabic acronym I am aware of.

Who said everything’s been invented?

A more organized version of the bubble sort algorithm in Square Kufic. I’m not sure which one I like more.

My first attempt at code calligraphy. Part of my fellowship at Eyebeam exploring Code as Self Expression.
My first attempt at code calligraphy. This bubble sort rendered in the Square Kufic style. Letters in red are language keywords. It is laid out in a spiral, starting at the lower right and circling clockwise towards the center.

Part of my fellowship at Eyebeam exploring Code as Self Expression.
Prototype of the editor I am writing for my Arabic programming language. It is a WebKit WebView with a customized CodeMirror instance. The code listed is an implementation of bubble sort. The equivalent Ruby code would be:

for n in 0..list.length
    for m in 0..(list.length - n - 2)
        if list[m + 1] > list[m] then
            swap list[m], list[m + 1]
        end
    end
end


Part of my fellowship at Eyebeam exploring Code as Self Expression.