We just solved an epic Vue highlighting bug.
`as` type assertions in directive values — `:msg="msg as string"` — have highlighted wrong for years (#520, #2096, #6007...). Not anymore.
How? We stopped hand-writing the highlighter.
Monogram defines a language's grammar once as a parser, proves it against tsc's conformance suite, then derives the TextMate / tree-sitter / Monarch highlighters from that proven model.
https://t.co/qBUu9y1MSt
@johnsoncodehk I guess with AsyncContext, there's still a problem that you can't re-run the part of an async function after one of the `await`s, only the whole function. Anyway, I've formalized my intuition into this library based on alien-signals, it was super fun: https://t.co/Da069OR6K9
Interestingly, Opus 4.7 initially told me that one of the problems (PR #112) was unsolvable and that I would need to guide it further to figure it out. Apparently, even for AI, reactive systems is still too complex.
Also built reactive-framework-test-suite — 180 test cases for reactive signal semantics across 13 libraries. PRs welcome to add more frameworks or test cases.
https://t.co/fPiL6wg2Dr
@ivan7237d Interesting idea, but async signals' core challenge is dep tracking across async boundaries. We'll need to revisit this after TC39 AsyncContext lands.
I started migrating the main monorepo at @Framer to @voidzero's oxlint. Speed difference is day and night.
For 420 enabled rules (including typescript-eslint rules), without cache:
eslint: 3m58s | 21 GB RAM
oxlint: 0m46s | 4.6 GB RAM (oxlint) + 6 GB tsgo
🚀5x faster, 2x less RAM usage
We are currently in a window before AI achieves grounded perception, and once it does, its taste may surpass even that of the finest human minds. At that point, even the decision-making work of top engineers could be replaced.
we don't have to live this way. senior engineers have the duty of building guardrails and teaching the next generation of programmers the practices that lead to high quality software.
AIs may write most of the code, but you still decide what ships. we should never lose our taste for quality software.
i made this analogy a while back: everyone can cook at home but yet restaurants still exist. the floor is rising, but so is the ceiling. the best software will always be made by those who care.