Chris Lattner
๐ค SpeakerAppearances Over Time
Podcast Appearances
And the way we do that is that we have to play by the rules, right?
And so we keep objects in that representation when they're coming from that world.
What's the representation that's being used?
In memory.
Okay.
we'd have to know a lot about how the CPython interpreter works.
It has, for example, reference counting, but also different rules on how to pass pointers around and things like this.
Super low-level fiddly, and it's not like Python, it's like how the interpreter works, okay?
And so that gets all exposed out, and then you have to define wrappers around the low-level C code, right?
And so what this means is you have to know not only C,
which is a different role from Python, obviously.
Not only Python.
But the wrappers.
But the interpreter and the wrappers and the implementation details and the conventions, and it's just this really complicated mess.
And when you do that, now suddenly you have a debugger that debugs Python.
They can't step into C code.
So you have this two world problem, right?
And so by pulling this all into Mojo, what you get is you get one world.
You get the ability to say, cool, I have untyped, very dynamic, beautiful, simple code.
okay, I care about performance for whatever reason, right?