Amiga E

e Amiga E is a programming language and compiler I started creating for the Amiga in ‘91, released publicly in ‘93, commercially in ‘94, and released as open source in ‘97. It was most similar to C++, in the sense that it was fast and weakly typed, and had a rich set of features from procedural, object oriented and functional programming languages.

I wrote the entire thing in assembly language, which will always persist in my mind as the craziest software engineering exercise I have ever gone through (400kb of mostly uncommented assembly in a single source file, for a complex compiler).

The original description I gave to it:

E is an object-oriented/procedural/unpure functional/whatever language with quite a popular implementation on the amiga. It’s mainly influenced by languages such as C++, Ada, Lisp etc., and features extremely fast compilation, inline assembler, large set of integrated functions, powerful module concept, flexible type-system, quoted expressions, immediate and typed lists, parametric and object polymorphism, exception handling, inheritance, data-hiding, methods, multiple return values, default arguments, register allocation, fast memory management, unification, LISP-Cells, macro-preprocessing, a very powerful source-level debugger, gui-toolkit, library linker, and then some.

Amiga E was a tremendous success, it became one of the most popular programming languages on the amiga.

The compiler is now open source (GPL). You can get all these files from here:

main archive (readme)

ec archive (readme)

ec source archive (readme)

The entire E Aminet archive.

Chris Handley’s PortablE compiler project, a language very close to AmigaE that runs on Amiga OS3, OS4, AROS & MorphOS, and Windows!

Leif Salomonsson’s ECX project, a replacement E compiler written entire in… E! and his older YAEC compiler.

Amiga E development mailing list, still active to this day (2009)!

E beginners guide, E tutorials