Minor edits & clarifications.
Cat's Eye Technologies
12 years ago
80 | 80 | |
81 | 81 | ### Some Explanations ### |
82 | 82 | |
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`". | |
84 | 84 | If `A` has occurred but `B` has never occurred, `A > B` is still true; |
85 | 85 | however, if neither event has ever occurred, both `A > B` and `B > A` are |
86 | 86 | false. |
128 | 128 | event Baz, caused after Foo. |
129 | 129 | |
130 | 130 | 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`. | |
137 | 131 | |
138 | 132 | Some words on the purpose of `caused before` are in order. In the original |
139 | 133 | vision, `after` and `by` were synonyms, but `before` was meant to actually |
289 | 283 | --------------- |
290 | 284 | |
291 | 285 | 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`. | |
293 | 288 | |
294 | 289 | The reference implementation of β-Juliet version 2.0, called `2iota`, is |
295 | 290 | written in C. It implements delays (when compiled as ANSI C they have |