Chris Lattner
๐ค SpeakerAppearances Over Time
Podcast Appearances
But what that means is that you can go and implement strings and ints and floats and arrays and all that kind of stuff in the language.
And so that's really cool because...
To me, as an idealizing compiler language type of person, what I want to do is I want to get magic out of the compiler and put it in the libraries.
Because if we can build an integer that's beautiful and has an amazing API and does all the things you'd expect an integer to do, but you don't like it, maybe you want a big integer.
Maybe you want a sideways integer.
I don't know what all the space of integers are.
Then you can do that, and it's not a second-class citizen.
And so if you look at certain other languages, like C++, one I also love and use a lot, int is hard-coded in the language.
But complex is not.
And so isn't it kind of weird that you have this STD complex class, but you have int and complex tries to look like a natural numeric type and things like this, but integers and floating point have these like special promotion rules and other things like that that are magic and they're hacked into the compiler.
And because of that, you can't actually make something that works like the built-in types.
Yeah, so we're still building all that stuff out.
So we provide integers and floats and all that kind of stuff.
We also provide buffers and tensors and things like that that you'd expect in an ML context.
Honestly, we need to keep designing and redesigning and working with the community to build that out and make that better.
That's not our strength right now.
Give us six months or a year, and I think it'll be way better.
But the power of putting it in the library means that we can have teams of experts that aren't compiler engineers that can help us design and refine and drive us forward.
Yep, that's very fair.
It is very useful, but it's very useful if you're a super low-level programmer right now.