Steve Klabnik
๐ค SpeakerAppearances Over Time
Podcast Appearances
Yeah, this is great. I've known about this for a while, unlike some folks. But I've sort of resisted using it just because it felt heavyweight, if you know what I mean. I think exactly as you're saying, Rainn, about this this kind of dichotomy between kind of big framework versus kind of lean and mean. Um, but this is a great endorsement and a good reminder to go at least kick the tires.
Next time I come across a problem that feels like it might be up at graphs, graphs, um, alley.
Next time I come across a problem that feels like it might be up at graphs, graphs, um, alley.
So where, where did I hear about it?
So where, where did I hear about it?
I don't know. I mean, I guess just other podcasts. I don't know, but I, I, you know, I think I was looking for it. I didn't realize that we did. Do we have an open relationship like that?
I don't know. I mean, I guess just other podcasts. I don't know, but I, I, you know, I think I was looking for it. I didn't realize that we did. Do we have an open relationship like that?
You're the one who appears on all these other podcasts.
You're the one who appears on all these other podcasts.
Now we're here. So in the typify create that I wrote to do JSON schema to Rust code generation, there's a bunch of graph-like problems to it. In particular, you've got to find cycles. And if you find a cycle, you want to break it with a box as you generate this kind of containment cycle. As you look at derives, you kind of maybe want to look at strongly connected components.
Now we're here. So in the typify create that I wrote to do JSON schema to Rust code generation, there's a bunch of graph-like problems to it. In particular, you've got to find cycles. And if you find a cycle, you want to break it with a box as you generate this kind of containment cycle. As you look at derives, you kind of maybe want to look at strongly connected components.
So I started looking for Rust crates that implemented these SCC algorithms, and that's where I came across PetGraph.
So I started looking for Rust crates that implemented these SCC algorithms, and that's where I came across PetGraph.
PetGraph is pretty well known on the forums because when people say like, oh, Rust can only handle tree-shaped data structures, a very common thing is like, well, did you try PetGraph? Because it's like old, it's not...
PetGraph is pretty well known on the forums because when people say like, oh, Rust can only handle tree-shaped data structures, a very common thing is like, well, did you try PetGraph? Because it's like old, it's not...
Old as it may be wrong, it's been around for a long time and therefore is well known largely because it was kind of the first, like you want a graph like data structure, like, okay, here's like a good, easy one to use thing.
Old as it may be wrong, it's been around for a long time and therefore is well known largely because it was kind of the first, like you want a graph like data structure, like, okay, here's like a good, easy one to use thing.
Oh, yeah, that was from way back. Yeah, I'll put that in the notes.
Oh, yeah, that was from way back. Yeah, I'll put that in the notes.
I'm going to name another mainstream crate that everyone knows about, and it is a D12 crate, but I am going to give a particular shout-out in it, which is SYN, S-Y-N, the syntactic partial crate. Now, the shout-out I'm going to give in it is that, like, the more you can do things like every sin has thought of more things than you think of. Like, so for example, I've had a path. I'm like, Oh, okay.