Skip to content

Tag Archives: e

E, episode thirteen (Conclusions)

Here I am, at the end of my E-journey. What have I learned? The existance of great ideas. I don’t really like E’s syntax but the ideas behind and beyond this language are great. The capability security model is stupid-proof and 100% secure. It’s a pity nobody uses it. As far as I know Palladium is [...]

E, episode twelve (Capabilities)

Capabilities E uses capability based security to supply both strong security and broad flexibility without incurring performance penalties. Capabilities might be thought of as the programming equivalent of physical keys E makes use of the Principle of Least Authority (POLA) to ensure that it gives no more authority that the other part needs. In the [...]

E, episode eleven (The Dream)

E programs never block. They never just sit and wait around for results. It this just a dream ?

E, episode ten (Promises)

A promise is the result of an eventual send to an object: [code lang="javascript"] def carVow := makeCar <- ("Mercedes") carVow <- moveTo(2,3) [/code] “<-” is the eventual send operator. Now you can start making eventual sends to the promise as if it were the object itself. The “when-catch” clause is used to wait for [...]

E, episode nine (Distributed Computing)

There’s no much to write about E’s concurrency model after you read this enlightment (from E in a Walnut): Multiple threads form the basis of conventional models of concurrent programming. Remarkably, human beings engage in concurrent distributed computing every day even though people are generally single threaded ([...]). How do we simple creatures pull off [...]

E, episode eight (Interfacing to Java)

Since E sits on top of the JVM is capable of using quite everything the Java world exposes. Package access We can import a class from the underlying Java virtual machine with the import statement, and speak to the Java object much as we would speak to an E object [code lang="javascript"] create a single [...]

E, episode seven (Data Structures)

E has three built-in data structures: lists, maps (hashtables) and sets. Each one comes in two flavors. Immutable (Const) and Mutable (Flex). Lists Lists are 0-indexed. You can use “+” for concatenation or the size() method to know the number of elements in the list. Keep in mind that the E String type is a [...]

E, episode six (I/O)

There’s nothing much to say about E’s input output. Since E sits on top of Java it uses the underline classes (mostly java.io.File) to do I/O. Insted of Java, E has a more human interface to the underline file system. [code lang="javascript"] file objects for hardwired files: def file1 := def file2 := [/code] In [...]

E, episode five (Functions and Objects)

Functions This is a basic recursive function: [code lang="javascript"] def factorial(n) { if (n == 0) { return 1 } else { return n * factorial(n-1) } } [/code] What I noticed (and found wierd) is that [code lang="javascript"] if (blah blah) {} else {} [/code] is a syntax error Remember to put the else [...]

E, episode four (Basics)

E ships with a command line interpreter, named rune useful to test scripts and examples. The configuration file also has the capability to save trace log where you want useful to examine errors separately to not clog the terminal window everytime. Basics E has variables (declared with var statement) and constants (declared with def). The [...]