47 lines
No EOL
2.1 KiB
Text
47 lines
No EOL
2.1 KiB
Text
{{language
|
|
|site=http://www.erights.org
|
|
|strength=strong
|
|
|safety=safe
|
|
|express=explicit
|
|
|compat=duck
|
|
|checking=dynamic
|
|
|parampass=value
|
|
|gc=yes
|
|
|hopl id=1990
|
|
|LCT=yes
|
|
}}
|
|
E is a programming language designed around object-capability security and event-loop concurrency, in order to support creation of highly robust and secure programs.
|
|
|
|
Using the [[Java]] implementation of E, Java libraries can be used from E code, and its REPL (e.g. [[Creating a Window#E|Creating a Window]]).
|
|
|
|
==Trying E==
|
|
|
|
[http://www.erights.org/download/ The current recommended E implementation ("E-on-Java") may be downloaded from erights.org].
|
|
|
|
To run an E program:
|
|
|
|
<lang sh>$ rune program.e</lang>
|
|
|
|
To get a [[REPL | <abbr title="Read Evaluate Print Loop">REPL</abbr>]] (aka prompt, shell, interactive interpreter):
|
|
|
|
<lang sh>$ rune</lang>
|
|
|
|
An online REPL is also available at <code>[irc://chat.freenode.net/erights #erights]</code> on <code>chat.[http://freenode.net/ freenode.net]</code>.
|
|
|
|
==Syntax of examples==
|
|
|
|
While most of the examples on Rosetta Code are E expressions (programs), some may be written like this:
|
|
|
|
? ''expression''
|
|
# value: ''print representation''
|
|
|
|
This is both the format of a transcript at an E [[REPL]], and the format employed by [http://wiki.erights.org/wiki/Updoc Updoc], a test framework for E. “?” is a prompt for user input (“>” indicates multi-line input) and “# foo:” indicates responses.
|
|
* <code># value:</code> the return value of the ''expression'', printed
|
|
* <code># problem:</code> an exception thrown by evaluation of the ''expression''
|
|
* <code># syntax error:</code> an exception thrown by parsing of the ''expression''
|
|
* <code># stdout:</code> or <code># stderr:</code> text written to the <code>stdout</code> or <code>stderr</code> streams. It is typically only used in test scripts and not in ordinary interactive sessions.
|
|
|
|
To try out these examples for yourself, just install E and run the <code>rune</code> command to get the “?” prompt. Multi-line input is automatic for unbalanced brackets/parens and can be indicated in other cases by a trailing backslash.
|
|
|
|
==See Also==
|
|
* [http://wiki.erights.org E Wiki] |