[docs] Clarify meaning of "superset of Python" · modular/modular@cb307d0

2 min read Original article ↗

@@ -80,8 +80,8 @@ features. We also benefit from tremendous lessons learned from other languages

8080

migrating developers to new compilers and languages, and we leverage the

8181

existing MLIR compiler ecosystem.

828283-

Further, we decided that the right _long-term goal_ for Mojo is to provide a

84-

**superset of Python** (that is, to make Mojo compatible with existing Python

83+

Further, we decided that the right _long-term goal_ for Mojo is to adopt the

84+

**syntax of Python** (that is, to make Mojo compatible with existing Python

8585

programs) and to embrace the CPython implementation for long-tail ecosystem

8686

support. If you're a Python programmer, we hope that Mojo is immediately

8787

familiar, while also providing new tools to develop safe and performant

@@ -197,8 +197,8 @@ interpreter in Mojo instead of C? 🔥

197197198198

## Python's problems

199199200-

By aiming to make Mojo a superset of Python, we believe we can solve many of

201-

Python's existing problems.

200+

By aiming to make Mojo the best way to extend Python, we believe we can solve

201+

many of Python's existing problems.

202202203203

Python has some well-known problems—most obviously, poor low-level performance

204204

and CPython implementation details like the global interpreter lock (GIL),

@@ -327,17 +327,17 @@ use-cases of Python, they cannot solve the "two world problem." This approach

327327

drives fragmentation, and incompatibility makes _migration_ difficult to

328328

impossible—recall how challenging it was to migrate from Python 2 to Python 3.

329329330-

### Python supersets with C compatibility

330+

### Python family languages with C compatibility

331331332-

Because Mojo is designed to be a superset of Python with improved systems

333-

programming capabilities, it shares some high-level ideas with other Python

334-

supersets like [Pyrex](https://wiki.python.org/moin/Pyrex) and

335-

[Cython](https://cython.org/). Like Mojo, these projects define their own

336-

language that also support the Python language. They allow you to write more

332+

Because Mojo is designed to adopt the syntax of Python with improved systems

333+

programming capabilities, it shares some high-level ideas with other members of

334+

the Python family of languages like [Pyrex](https://wiki.python.org/moin/Pyrex)

335+

and [Cython](https://cython.org/). Like Mojo, these projects define their own

336+

language while also supporting the Python language. They allow you to write more

337337

performant extensions for Python that interoperate with both Python and C

338338

libraries.

339339340-

These Python supersets are great for some kinds of applications, and they've

340+

These Python family languages are great for some kinds of applications, and they've

341341

been applied to great effect by some popular Python libraries. However, they

342342

don't solve [Python's two-world problem](#the-two-world-problem) and because

343343

they rely on CPython for their core semantics, they can't work without it,