@@ -175,11 +175,9 @@ <h1 id="overview">Overview<a class="headerlink" href="#overview" title="Permanen
175
175
< ul >
176
176
< li > < em > Reactive</ em > : code executes in reactions to events.</ li >
177
177
< li > < em > Structured</ em > : code uses structured control-flow mechanisms, such as < code > spawn</ code >
178
- and < code > await</ code > (to create and suspend an activity).</ li >
179
- < li > < em > Synchronous</ em > : event reactions never overlap and run atomically and to
180
- completion on each activity.
181
- There is no implicit preemption or real parallelism, resulting
182
- in deterministic execution.</ li >
178
+ and < code > await</ code > (to create and suspend lines of execution).</ li >
179
+ < li > < em > Synchronous</ em > : event reactions run atomically and to completion on each line
180
+ of execution.</ li >
183
181
</ ul >
184
182
<!--
185
183
- Event Handling:
@@ -212,12 +210,12 @@ <h1 id="overview">Overview<a class="headerlink" href="#overview" title="Permanen
212
210
213
211
< p > The synchronous concurrency model of Céu greatly diverges from multithreaded
214
212
and actor-based models (e.g. < em > pthreads</ em > and < em > erlang</ em > ).
215
- On the one hand, there is no real parallelism at the synchronous kernel of the
216
- language (i.e., no multi-core execution).
213
+ On the one hand, there is no preemption or real parallelism at the synchronous
214
+ core of the language (i.e., no multi-core execution).
217
215
On the other hand, accesses to shared variables among trails are deterministic
218
216
and do not require synchronization primitives (i.e., < em > locks</ em > or
219
217
< em > queues</ em > ).</ p >
220
- < p > Céu provides static memory management based on lexical scopes and does not
218
+ < p > Céu provides static memory management based on lexical scope and does not
221
219
require a garbage collector.</ p >
222
220
< p > Céu integrates safely with C, particularly when manipulating external resources
223
221
(e.g., file handles).
@@ -239,7 +237,7 @@ <h2 id="environments">Environments<a class="headerlink" href="#environments" tit
239
237
-->
240
238
241
239
< h2 id ="synchronous-execution-model "> Synchronous Execution Model< a class ="headerlink " href ="#synchronous-execution-model " title ="Permanent link "> ¶</ a > </ h2 >
242
- < p > Céu is grounded on a precise definition of < em > logical time</ em > (as opposed to
240
+ < p > Céu is grounded on a precise notion of < em > logical time</ em > (as opposed to
243
241
< em > physical</ em > ) as a discrete sequence of input events:
244
242
a sequence because only a single input event is handled at a logical time;
245
243
discrete because reactions to events are guaranteed to execute in bounded
@@ -350,7 +348,7 @@ <h2 id="parallel-compositions-and-abortion">Parallel Compositions and Abortion<a
350
348
</ ol >
351
349
< p > As mentioned in the introduction and emphasized in the execution model, trails
352
350
in parallel do not execute with real parallelism.
353
- Therefore, it is important to note that parallel compositions provide
351
+ Therefore, it is important to note that parallel compositions support
354
352
< em > awaiting in parallel</ em > , rather than < em > executing in parallel</ em > (see
355
353
< a href ="./statements/#thread "> Asynchronous Threads</ a > for real parallelism support).
356
354
<!--
@@ -398,10 +396,10 @@ <h2 id="internal-reactions">Internal Reactions<a class="headerlink" href="#inter
398
396
(see < a href ="#synchronous-execution-model "> < code > rule 2</ code > </ a > for external reactions).
399
397
If an awaking trail emits another internal event, a nested internal
400
398
reaction starts with < code > rule 1</ code > .</ li >
401
- < li > The top of stack is popped and the last emitting trail resumes execution
399
+ < li > The top of the stack is popped and the last emitting trail resumes execution
402
400
from its continuation.</ li >
403
401
</ ol >
404
- < p > The program and follow illustrates the behavior of internal reactions in Céu:</ p >
402
+ < p > The program as follow illustrates the behavior of internal reactions in Céu:</ p >
405
403
< pre > < code class ="ceu "> 1: par/and do // trail 1
406
404
2: await e;
407
405
3: emit f;
@@ -474,5 +472,5 @@ <h2 id="internal-reactions">Internal Reactions<a class="headerlink" href="#inter
474
472
475
473
<!--
476
474
MkDocs version : 0.15.3
477
- Build Date UTC : 2017-10-29 15 :39:37
475
+ Build Date UTC : 2018-03-20 21 :39:56
478
476
-->
0 commit comments