programming

Untyped lambda calculus represented by cut out alligators. A great reminder of how computers aren’t necessary for computation, just convenient.

 

I’m putting together this language design tool that lets you specify basic syntax highlighting for a fictional language as you develop it. It helps avoid staring at unhighlighted code during a language’s initial sketches. It is built on CodeMirror.

The top pane is where you sketch in your language. Write whatever you want there. The lower pane is where you specify the syntax highlighting as pattern, token pairs.

 

New Zajal documentation under development:

zajaldev:

I’m working with friend and legendary web designer Chris Driscoll to rebuild the documentation platform from scratch. This Heroku URL is where we’ll be developing the site. What’s up there now is an initial prototype, so stay tuned for changes coming soon!

 

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.

 

My father pointed out the spelling mistake in my bubble sort prototype (لائحة instead of لأحة). Stay tuned for a higher level of literacy in the future!

 

Process of designing the bubble sort piece, from Ruby code to Arabic code to Square Kufic prototypes in Photoshop.

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

 

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.

 
Syndicate content