Matthias Endler
๐ค SpeakerAppearances Over Time
Podcast Appearances
Every day I get an update, which is nice because they work flawlessly and they work every single time. And I find myself reading the change log a lot because the change log is nicely formatted. You can see what's going on. I wonder how you do these updates. How does the pipeline work to create these updates? How do you push them to the clients? And how do you make it so flawless?
The tree sitter is written in C and is wrapped in WebAssembly. That means you must run some sort of WebAssembly runtime. Is that a custom build or do you use anything?
The tree sitter is written in C and is wrapped in WebAssembly. That means you must run some sort of WebAssembly runtime. Is that a custom build or do you use anything?
The tree sitter is written in C and is wrapped in WebAssembly. That means you must run some sort of WebAssembly runtime. Is that a custom build or do you use anything?
Is that also something that you use for the extensions?
Is that also something that you use for the extensions?
Is that also something that you use for the extensions?
And will you support traditional extensions at some point too? And how will that look like? Definitely yes. And who knows?
And will you support traditional extensions at some point too? And how will that look like? Definitely yes. And who knows?
And will you support traditional extensions at some point too? And how will that look like? Definitely yes. And who knows?
I definitely appreciate the focus on stability and performance because those are the main two reasons why I use it. I would like to keep it this way. That's kind of nice.
I definitely appreciate the focus on stability and performance because those are the main two reasons why I use it. I would like to keep it this way. That's kind of nice.
I definitely appreciate the focus on stability and performance because those are the main two reasons why I use it. I would like to keep it this way. That's kind of nice.
And once the project grows, it will not get easier because I just checked yesterday and Z is approaching 500,000 lines of Rust code, which is crazy. It's crazy. And I saw some interesting bits that I learned from you. For example, you have a flat hierarchy of crates. You have one workspace still. You keep it all in one workspace. Right. And then you follow a very flat hierarchy.
And once the project grows, it will not get easier because I just checked yesterday and Z is approaching 500,000 lines of Rust code, which is crazy. It's crazy. And I saw some interesting bits that I learned from you. For example, you have a flat hierarchy of crates. You have one workspace still. You keep it all in one workspace. Right. And then you follow a very flat hierarchy.
And once the project grows, it will not get easier because I just checked yesterday and Z is approaching 500,000 lines of Rust code, which is crazy. It's crazy. And I saw some interesting bits that I learned from you. For example, you have a flat hierarchy of crates. You have one workspace still. You keep it all in one workspace. Right. And then you follow a very flat hierarchy.
Can you elaborate on this design decisions and maybe other decisions that are reasonable or maybe even necessary after reaching a certain size of like a code base?
Can you elaborate on this design decisions and maybe other decisions that are reasonable or maybe even necessary after reaching a certain size of like a code base?
Can you elaborate on this design decisions and maybe other decisions that are reasonable or maybe even necessary after reaching a certain size of like a code base?
It's funny because lately I read an article by Matt Klett, who is the author of Rust Analyzer. And he mentioned this one thing about nested trees where you have to make a decision where you put things. And it's a conscious decision. It might be wrong. And so eventually you might end up in a suboptimal space, in a suboptimal structure of your project.