PLDB
Languages Features Calendar CSV Lists Blog About Sponsor Add Language
GitHub icon

E

E

E is a pl created in 1997 by Mark S. Miller.

#302on PLDB 25Years Old 406Users
0Books 0Papers 354Repos

E is an object-oriented programming language for secure distributed computing, created by Mark S. Miller, Dan Bornstein, and others at Electric Communities in 1997. E is mainly descended from the concurrent language Joule and from Original-E, a set of extensions to Java for secure distributed programming. Read more on Wikipedia...


Example from the web:
def factorial(n :int) :int { if (n == 1) { return 1 } else if (n > 0) { return n * factorial(n-1) } else { throw("invalid argument to factorial: "+n) } }
Example from the web:
# E snippet from # http://wiki.erights.org/wiki/Walnut/Distributed_Computing/Promises when (tempVow) -> { #...use tempVow } catch prob { #.... report problem } finally { #....log event }
Example from hello-world:
println("Hello World")
Example from Wikipedia:
def makeMint(name) :any { def [sealer, unsealer] := makeBrandPair(name) def mint { to makePurse(var balance :(int >= 0)) :any { def decr(amount :(0..balance)) :void { balance -= amount } def purse { to getBalance() :int { return balance } to sprout() :any { return mint.makePurse(0) } to getDecr() :any { return sealer.seal(decr) } to deposit(amount :int, src) :void { unsealer.unseal(src.getDecr())(amount) balance += amount } } return purse } } return mint }

Language features

Feature Supported Example Token
Strings
"Hello world"
"
Print() Debugging println
Line Comments
# A comment
#
Comments
Semantic Indentation ϴ
intercal.html · e.html · rdoc.html

View source

PLDB - Build the next great programming language · v2022 · Day 32 · Docs · Build · Acknowledgements · Traffic Today · Traffic Trends · Mirrors · GitHub · feedback@pldb.com