Ease (programming language): Difference between revisions

Content deleted Content added
WP:LINKs: adds, fix-cut: null-WP:RED, WP:NOPIPE; 1st instance full term define before WP:ABBReviation. WP:REFerence WP:CITation add. WP:BADEMPHASIS MOS:BOLDs > WP:ITALICs. Small WP:EoS WP:COPYEDITs: clarify.
GreenC bot (talk | contribs)
 
(9 intermediate revisions by 7 users not shown)
Line 1:
{{Infobox programming language
'''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 [[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=1463777914 |access-date=2018-06-12}}</ref> 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.
| name = Ease
| logo = <!-- (filename) -->
| logo caption =
| screenshot = <!-- (filename) -->
| screenshot caption =
| paradigms = [[Concurrent computing|Concurrent]], [[communicating sequential processes]]
| family =
| designer = Steven Ericsson-Zenith
| developer = <!-- or: | developers = -->
| released = {{Start date and age|1991}}
| latest release version =
| latest release date = <!-- {{Start date and age|YYYY|MM|DD|df=yes/no}} -->
| latest preview version =
| latest preview date = <!-- {{Start date and age|YYYY|MM|DD|df=yes/no}} -->
| typing = [[Strong and weak typing|Strong]]
| scope =
| programming language =
| discontinued =
| platform = [[Parallel computing|Parallel]]
| operating system =
| license =
| file ext =
| file format = <!-- or: | file formats = -->
| website = <!-- {{url|www.example.com}} -->
| implementations =
| dialects =
| influenced by = [[occam (programming language)|occam]]
| 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> 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.
 
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.
 
The language includes two process constructors.
Line 17 ⟶ 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 25 ⟶ 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 36 ⟶ 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}}