crowdyriver
Joined 4 years ago
Joined 4 years ago
quite impressive
So far so good! It's basically go templates that take in any package level go symbol and write code into a meta.go file.
You can do the same with the go/ast package, but metago makes it very easy to add your own custom transformations. No build tags, just write .metago templates, annotate structs, and run metago.
So far I've managed to make stringer, enums, mocks and even an efficient json serde template with metago. As an experiment, there's also a typesafe active record like orm in the repo. So you can do a lot with it!
Bun is slop. Let's not pretend it is not. It went from 600k lines of zig to almost a million of rust, for a wrapper around a js engine. It might be useful slop, but it is still slop.
It's understandable to have mixed feelings about bun as the creator of the language.
You spend 10 years of your time making a language, and one of the most prominent projects that uses it does it in a nasty and sloppy way. You try to help, but your advice gets ignored.
You make a whole language about improving software quality, only to be associated with a project that doesn't care about it.
For once I do appreciate that somebody is willing to have the guts to say what they think. The bun rust rewrite article said no words about the tradeoffs of moving to Rust (compilation times?), and I agree with the false dichotomy presented. How do we know that most bun bugs were not created because of slop / AI usage / stubbornness?
And nothing is stopping the AI from making the unreadable mess more readable in later iterations. It can make it pass the spec first and make it cleaner later. Just like we do!