Ease (programming language): Difference between revisions

Content deleted Content added
Carriage return: split paragraph. Sentence add.
GreenC bot (talk | contribs)
 
(7 intermediate revisions by 6 users not shown)
Line 29:
| influenced =
}}
'''Ease''' is a general purpose [[parallel computing|parallel]] [[programming language]]. It is designed by Steven Ericsson-Zenith, a researcher at [[Yale University]], the Institute for Advanced Science & Engineering in Silicon Valley, California, the [[Mines ParisTech|Ecole Nationale Supérieure des Mines de Paris]], and the [[Pierre and Marie Curie University]], the science department of the [[University of Paris (post-1970)|Sorbonne]].<ref>{{cite book |last=Ericsson-Zenith |first=Steven |date=1 July 2011 |orig-year=July 1992 |title=Process Interaction Models |url=https://www.amazon.com/Process-Interaction-Models-Steven-Ericsson-Zenith/dp/1463777914/ |___location=Seattle, Washington, U.S. |website=Amazon |publisher=CreateSpace Independent Publishing Platform |isbn=1463777914978-1463777913 |access-date=2018-06-12}}</ref>
 
The book ''Process Interaction Models'' is the Ease language specification. Ease combines the process constructs of [[communicating sequential processes]] (CSP) with logically shared data structures called ''contexts''. Contexts are [[Parallel computing|parallel]] data types that are constructed by processes and provide a way for processes to interact.
Line 49:
Powerful ''replication'' syntax allows multiple processes to be created. For example,
 
::<math>\parallel {i}\; \mathrm{for}\; {n} : P(i) ;</math>
 
creates ''n'' synchronized processes each with a local constant ''i''.
Line 57:
There are four functions upon contexts:
 
* {{mono|''read'' (context, variable)}} – copies a value from the shared ''context'' to the ''variable''.
* {{mono|''write'' (context, expression)}} – copies the value of ''expression'' to the shared ''context''.
* {{mono|''put'' (context, name)}} – moves the value bound to ''name'' to the shared ''context''. The value of ''name'' is subsequently ''undefined''.
* {{mono|''get'' (context, name)}} – moves a value from ''context'' and binds it to ''name''. The value is removed from the context.
 
Context types are ''Singletons'', ''Bags'' or ''Streams'' and can be subscripted arrays.
Line 68:
== References ==
{{Reflist}}
 
== Bibliography ==
* [https://books.google.com/books?id=8GssNAAACAAJ John Redman, An Implementation of the Ease Programming Language, University of Western Australia, 1991]
* [httphttps://ieeexplore.ieee.org/xpl/articleDetails.jsp?arnumber=590304 T.H. MacKenzie, T.I. Dix, "A distributed memory multiprocessor implementation of C-with-Ease," IEEE International Conference on Parallel and Distributed Systems, 2002]
* [http://doi.ieeecomputersociety.org/10.1109/ICPADS.1998.741145 T.H. MacKenzie, T.I. Dix, "Object-Oriented Ease-Based Parallel Primitives in C++," icpads, p. 623, 1998 International Conference on Parallel and Distributed Systems (ICPADS'98), 1998]
 
[[Category:Concurrent programming languages]]
[[Category:Concurrency control]]
 
 
{{compu-lang-stub}}