Category:E: Difference between revisions
(brief description of what E is about) |
(→Trying E: Expanded acronym) |
||
(18 intermediate revisions by 7 users not shown) | |||
Line 1: | Line 1: | ||
{{language |
|||
⚫ | |||
|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. |
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. |
||
⚫ | |||
⚫ | |||
==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] |
Latest revision as of 17:43, 17 June 2021
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: |
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 thestdout
orstderr
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.
@
- E examples needing attention (19 P)
- E Implementations (1 P)
- E User (2 P)
Pages in category "E"
The following 69 pages are in this category, out of 269 total.
(previous page) (next page)S
- Safe addition
- Scope modifiers
- Search a list
- SEDOLs
- Send an unknown method call
- Seven-sided dice from five-sided dice
- Shell one-liner
- Short-circuit evaluation
- Sierpinski carpet
- Sierpinski triangle
- Sieve of Eratosthenes
- Simple windowed application
- Singleton
- Singly-linked list/Element definition
- Singly-linked list/Element insertion
- Singly-linked list/Traversal
- Sleep
- Sort an array of composite structures
- Sort an integer array
- Sort using a custom comparator
- Sorting algorithms/Bogosort
- Sorting algorithms/Bubble sort
- Sorting algorithms/Cocktail sort
- Sorting algorithms/Counting sort
- Sorting algorithms/Gnome sort
- Sorting algorithms/Heapsort
- Sorting algorithms/Insertion sort
- Sorting algorithms/Merge sort
- Sorting algorithms/Permutation sort
- Sorting algorithms/Quicksort
- Sorting algorithms/Selection sort
- Sorting algorithms/Shell sort
- Special characters
- Spiral matrix
- Stack
- Stair-climbing puzzle
- String case
- String interpolation (included)
- String length
- String matching
- Substring
- Sum and product of an array
- Sum of a series
- Sum of squares
- Symmetric difference
- Synchronous concurrency
- System time