For more sophisticated needs, Epsilon has an advanced C-like extension language named EEL. No one comes close to the Epsilon Extension Language when it comes to speed and expressive power. Other editors say they have C-like extension languages. But how many offer a full set of data types including numbers, arrays, strings, pointers, structures and unions? And Epsilon's data type facility is fully recursive, so you can have, for example, an array of pointers to structures.
To these data types familiar to C programmers, EEL adds others designed to make writing editor extensions easy. For example, you can define variables that hold a different value in each window, or in each text buffer. Epsilon automatically takes care of replicating the value when you make a new window. It's this kind of attention to detail that makes EEL so powerful.
EEL is a language designed specifically for writing powerful editor extensions. Take a look at your current editor. How many of its commands were written using its extension language? With many editors, most commands are built-in and unchangeable, and only a handful are written in the editor's extension language. Why? Because other editors' languages are just too wimpy and slow. Not Epsilon--every command in Epsilon is written in our lightning-fast EEL extension language. That gives Epsilon exceptional flexibility. And you get EEL source code for all the commands. With Epsilon, if a command doesn't operate exactly the way you want it to--if you want to make it do just one more thing--you can. EEL even includes support for calling DLL's (or for calling interrupts, in Epsilon for DOS) so Epsilon can talk to other programs.
You probably won't need to learn EEL and write your own editor commands. But isn't it nice to know that you could? And you benefit from the power of EEL in another very important way: Epsilon users like to share their extensions with others through our Internet anonymous FTP site. Other Epsilon users have sent in many wonderful and amazing extensions ready for you to use. Commands that extend the editor to work with new languages, connect to other programs, check the spelling of your text, extract the format of database files--all kinds of things.