SmallEiffel and SmartEiffel Ports to AmigaDE/Elate

We've ported the GNU SmartEiffel compiler to Tao Group's Elate operating environment. If you haven't yet heard about GNU Eiffel, the Elate operating environment, you should really look into each.

SmartEiffel used to be called "SmallEiffel". Contrary to its name, is a full fledged, Open Source, GPL licensed implementation of the Eiffel programming language. The compiler generates high quality, high performance C and Java bytecode. The package includes several reusable libraries (called clusters in the Eiffel vernacular), plenty of documentation, examples, and more.

Elate/intent is a virtual operating system developed by Tao Group, UK. It is one of the most innovative pieces of software we have seen in years. Elate is a high quality, high performance, robust, virtual operating system that runs hosted on a standard operating system. We currently run Elate hosted on Linux and Windows.

The Elate system has a host of lovely features including:

  • A preemptive multitasking and multiprocessing kernel with a user-configurable (real-time or not) scheduler.
  • A high performance asynchronous message passing-based IPC based on the mailbox metaphor.
  • A garbage collector-based system memory architecture.
  • An object-based clean-room designed assembly language called VP (for Virtual Processor) that is the nicest assembly we have ever used.
  • An innovative "tool"-based architecture for software components. Tools are chunks of (re)usable code, thus a library is no longer a set of files or functions, it is a set of tools. Tools are the fundamental unit of compilation, translation, analysis, garbage collection, and more. This means that when you load code written in, say, C, C++, or Java, only those portions of the code that are necessary are loaded into memory and translated into native code. In other words, why load the full text segment of a C program or a C++ class, or why load a full classfile for a Java class, when all you need on average is a fraction of it?
  • A data-flow analyzing, load-time, caching VP-to-native code compiler that generates excellent native code. The Elate translation system supports nearly thirty (yes, 30) chipsets including various processors in the x86 line, MIPS, various embedded processors like the SH-4, Thumb, and Arm line, PowerPC, and more.
  • And a host of the standard little things you would expect: a reasonable (but non-standard) command shell, a GUI/multimedia toolsuite (called "intent"), a GCC port (full C and C++), a very high performance Personal Java implementation, signals, interrupts, a file system, networking libraries, etc.

GNU SmallEiffel 0.75 and SmartEiffel 1.0 for Elate 1.3 are available here.

Download SmallEiffel 0.75 or SmartEiffel 1.0 for Elate 1.3.

Development of this product is hosted at GitHub.