Category:E: Difference between revisions

From Rosetta Code
Content added Content deleted
(moving to E-on-Java - E is a multi-implementation language)
(→‎Trying E: Expanded acronym)
 
(4 intermediate revisions by 3 users not shown)
Line 1: Line 1:
{{language|E
{{language
|site=http://www.erights.org
|strength=strong
|strength=strong
|safety=safe
|safety=safe
Line 7: Line 8:
|parampass=value
|parampass=value
|gc=yes
|gc=yes
|hopl id=1990
|LCT=yes}}
|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.
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]]).
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==
==Trying E==
Line 20: Line 23:
<lang sh>$ rune program.e</lang>
<lang sh>$ rune program.e</lang>


To get a [[REPL]] (aka prompt, shell, interactive interpreter):
To get a [[REPL | <abbr title="Read Evaluate Print Loop">REPL</abbr>]] (aka prompt, shell, interactive interpreter):


<lang sh>$ rune</lang>
<lang sh>$ rune</lang>


An online REPL is also available at [[Help:IRC|Rosetta Code IRC]] or <code>[irc://chat.freenode.net/erights #erights]</code> on <code>chat.[http://freenode.net/ freenode.net]</code>.
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==
==Syntax of examples==
Line 42: Line 45:


==See Also==
==See Also==

* [http://www.erights.org erights.org] — Home page of E
* [http://wiki.erights.org E Wiki]
* [http://wiki.erights.org E Wiki]

Latest revision as of 17:43, 17 June 2021

Language
E
This programming language may be used to instruct a computer to perform a task.
Official website
Garbage collected: Yes
Parameter passing methods: By value
Type safety: Safe
Type strength: Strong
Type compatibility: Duck
Type expression: Explicit
Type checking: Dynamic
See Also:
Listed below are all of the tasks on Rosetta Code which have been solved using E.

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).

Trying E

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 (aka prompt, shell, interactive interpreter):

<lang sh>$ rune</lang>

An online REPL is also available at #erights on chat.freenode.net.

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 Updoc, a test framework for E. “?” is a prompt for user input (“>” indicates multi-line input) and “# foo:” indicates responses.

  • # value: the return value of the expression, printed
  • # problem: an exception thrown by evaluation of the expression
  • # syntax error: an exception thrown by parsing of the expression
  • # stdout: or # stderr: text written to the stdout or stderr 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 rune 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

Subcategories

This category has the following 3 subcategories, out of 3 total.

Pages in category "E"

The following 200 pages are in this category, out of 269 total.

(previous page) (next page)
(previous page) (next page)