From Erights

Revision as of 10:57, 21 April 2007 by Mscheffler (Talk)
Jump to: navigation, search



What is E?

E is a programming language designed to make it easy to write distributed programs that are correct and secure. For more information, see E in a Walnut and the Erights.org web site.

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?

A good starting point is the Walnut. For further information check out Getting_Started

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?


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.

Personal tools
more tools