| Joule | |
|---|---|
| Paradigm | multi-paradigm:object-oriented,distributed,Dataflow |
| Designed by | E. Dean Tribble |
| First appeared | 1996 |
| Typing discipline | untyped |
| Influenced by | |
| Concurrent Logic Programming,Actors | |
| Influenced | |
| E | |
Joule is a capability-secure massively-concurrentdataflow programming language, designed for buildingdistributed applications.[1] It is so concurrent that the order of statements within a block is irrelevant to the operation of the block. Statements are executed whenever possible, based on their inputs. Everything in Joule happens by sending messages. There is nocontrol flow. Instead, the programmer describes the flow of data, making it adataflow programming language.[citation needed]
Joule development started in 1994 atAgorics inPalo Alto, California.[2] It is considered the precursor to theE programming language.[3][4]
Numerals consist ofASCII digits 0–9;identifiers areUnicode sequences of digits, letters, and operator characters that begin with a letter. It is also possible to form identifiers by using Unicode sequences (including whitespace) enclosed by either straight (' ') or standard (‘ ’) single quotes, where the backslash is the escape character.Keywords have to start with a letter, except the• keyword to send information.Operators consist of Unicode sequences of digits, letters, and operator characters, beginning with an operator character.Labels are identifiers followed by a colon (':').[5]
At the root, Joule is animperative language and because of that a statement-based language. It has a rich expression syntax, which transforms easily to its relational syntax underneath. Complex expressions become separate statements, where the site of the original expression is replaced by a reference to the acceptor of the results channel. Therefore, nested expressions still compute completely concurrently with their embedding statement.[5]
If amount <= balance • account withdraw: amount else • account report-bounce: end
An identifiers may name a channel to communicate with the server. If this is the case, it is said to bebound to that channel.[5]
{{cite journal}}:Cite journal requires|journal= (help)E's debt to Joule cannot be overstated.
The E programming language was largely inspired by the language Joule, currently being developed by Dean Tribble, Norm Hardy, and their colleagues at Agorics, Inc.
{{cite journal}}:Cite journal requires|journal= (help)Thisprogramming-language-related article is astub. You can help Wikipedia byexpanding it. |