General

What is E?

Why is it called 'E'?

Douglas Crockford writes: 'I chose E because of the progression B, C. I observed that there was no language D. I figured it was a bad luck letter, so we moved on to E. That 'E' was also the initial of Electric Communities was noticed at the time. It also tied in to our development of the Unum distributed object model.'

How can I learn about E?

Is E free?

The code distributed with E is licensed under Mozilla-compatible licenses. According to opensource.org, Mozilla is an open-source license. According to gnu.org, Mozilla is a free software license.

Can't E's goals be met by an API (instead of a language)?

An API on an IPC system can provide inter-process security. But it can't provide intra-process security, because adding an API cannot take away security holes.

ELib, the Java API that underlies E, provides the means for objects to speak to one another in a capability-secure fashion. Objects defined in the E language may only affect the world outside of themselves according to the semantics provided by ELib.

Unanswered questions

Which E implementation should I use? E-on-Java or E-on-CL?

Is there an IDE?

Why should I use E instead of (language X)?

Is E stable?

Miscellaneous

How can I declaring a Java class as safe for importing?

Create a file with the extension .safej and save it to the same class path location as the java class you want to declare as safe. In the .safej file you can declare methods of that class as allowed or rejected. Take a look at the Safej_example. You can find more .safej files in the E distribution in the folder src/safej.