Skip to content

Commit 2fa8f80

Browse files
Apply suggestions from code review
Co-authored-by: Jelle Zijlstra <jelle.zijlstra@gmail.com>
1 parent 2f49abf commit 2fa8f80

1 file changed

Lines changed: 4 additions & 4 deletions

File tree

peps/pep-0805.rst

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ PEP 703, Making the Global Interpreter Lock Optional in CPython, and PEP 554, Mu
2727
Multiple interpreters are both safe and support parallelism, but they are difficult to use and sharing objects
2828
between multiple interpreters without copying is impossible.
2929
PEP 703 supports parallel execution and sharing, but is unsafe as it allows race conditions.
30-
Race conditions allow dangerous and hard to find bugs. In the most extreme example, Therac-25 [1]_, a race condtion bug resulted in several fatalities. The trouble with race conditions is not that the bugs they introduce are necessarily worse than other bugs,
30+
Race conditions allow dangerous and hard to find bugs. In the most extreme example, Therac-25 [1]_, a race condition bug resulted in several fatalities. The trouble with race conditions is not that the bugs they introduce are necessarily worse than other bugs,
3131
but that they can be very hard to detect and may easily slip through testing.
3232

3333
Parallelism, without strong support from the language and runtime, is extremely difficult to get right:
@@ -70,7 +70,7 @@ to one thread (the top-left quadrant), or that it is protected by a mutual exclu
7070
The PEP also proposes changes to CPython to prevent unsafe execution when mutable objects are shared.
7171
Finally, the PEP provides a generalization of the GIL to allow incrementally moving away from the GIL.
7272

73-
This PEP is inspired by ideas from Ocaml, specifically Data Freedom à la Mode [2]_, and the Pyrona project [3]_.
73+
This PEP is inspired by ideas from OCaml, specifically Data Freedom à la Mode [2]_, and the Pyrona project [3]_.
7474
Many of the necessary technologies, such as biased and deferred reference counting, have been developed for PEP 703.
7575

7676
Specification
@@ -100,7 +100,7 @@ Views, iterators and other objects that depend on the internal state of other mu
100100
those objects. For example, a ``listiterator`` of a *local* ``list`` will be *local*, but a ``listiterator`` of a *protected*
101101
``list`` will be *protected*. Views and iterators of *immutable* (including STW mutable) objects will be *local* when created.
102102

103-
All objects that not inherently immutable (like tuples or strings) will be created as *local*.
103+
All objects that are not inherently immutable (like tuples or strings) will be created as *local*.
104104
These *local* objects can later be made *immutable* or *protected*.
105105

106106
Dictionaries and lists will support the ability to be made stop-the-world mutable on a per-object basis.
@@ -156,7 +156,7 @@ The ``__freeze__()`` will be added to all pure Python class as well as most stan
156156
``list``, ``set`` and ``dict`` classes will gain a ``__freeze__()`` method.
157157
For immutable objects like ``tuple``, ``__freeze__()`` will be supported, but will have no effect.
158158

159-
Note that freezing an object is a shallow operation; ``x.__freeze__()` only freezes ``x`` and not any of the objects
159+
Note that freezing an object is a shallow operation; ``x.__freeze__()`` only freezes ``x`` and not any of the objects
160160
that ``x`` refers to.
161161

162162
The ``__freeze__`` method can be used to create classes of immutable objects, by calling ``__freeze__`` at the

0 commit comments

Comments
 (0)