git @ Cat's Eye Technologies beta-Juliet / rel_2_0_2012_0714
Minor edits & clarifications. Cat's Eye Technologies 9 years ago
1 changed file(s) with 3 addition(s) and 8 deletion(s). Raw diff Collapse all Expand all
8080
8181 ### Some Explanations ###
8282
83 The syntax `A > B` can be read as `A has occurred more recently than B`.
83 The syntax `A > B` can be read as "`A` has occurred more recently than `B`".
8484 If `A` has occurred but `B` has never occurred, `A > B` is still true;
8585 however, if neither event has ever occurred, both `A > B` and `B > A` are
8686 false.
128128 event Baz, caused after Foo.
129129
130130 After `Foo` happens, `Baz > Bar` should be true.
131
132 (The `2iota` interpreter does not yet implement this guarantee, but I don't
133 think that will stop me from releasing it.)
134
135 ...we can say with certainty that, after all the consequents of `Foo` have
136 happened, `Baz > Bar`; so maybe there is a place for `caused before`.
137131
138132 Some words on the purpose of `caused before` are in order. In the original
139133 vision, `after` and `by` were synonyms, but `before` was meant to actually
289283 ---------------
290284
291285 There is a crude implementation of β-Juliet version 1.0 in the form of a
292 Perl 5 script. It does not implement delays.
286 Perl 5 script. It does not implement delays, but it does implement the
287 ordering guarantees between `caused before` and `caused after`.
293288
294289 The reference implementation of β-Juliet version 2.0, called `2iota`, is
295290 written in C. It implements delays (when compiled as ANSI C they have