Join the discussion

Write your take first — we'll ask for email only when you're ready to publish.

  • Hacker News
  • I ran out of patience before models got good enough to get this done.

    https://tsz.dev

    Congrats to the team on getting this out

  • According to voidzero, this port is up to 8x faster than TS 7.0 & ~70% less memory.

    Microsoft should seriously consider porting typescript to rust at this point

  • I wonder if something similar has been attempted with Python. CPython is a project where I don't know how they are taking advantage of AI.
  • It's exciting to see the speed gains. I use TypeScript every day on a large codebase, and it is too slow to run locally. I don't love this change though:

    > However, frontier AI models can now do large-scale ports almost independently in a matter of days

    > I wrote zero code. Not "barely any". Zero

    So we are going to move from a carefully handwritten port to an entirely AI-generated port. I know this is the way the industry is headed, I use coding agents a ton. But I still review their output because they often don't make sound architectural decisions. Maybe this is a sign that my way of working is going away. I'm not sure how to justify that kind of time spent when someone can do the same thing in a matter of days with barely any effort.

    I am working on my own language now, I've spent most of this year on it. The idea that someone could just replace it in a matter of days is wild. Wonder how the TS team at Microsoft feels about this.

  • Ah took me a while to understand the reason behind this.

    It wasn’t “let’s build a faster Rust based Typescript compiler” at all. That was a nice side-effect.

    They needed a Typescript compiler that can run on their WASM only sandbox. So the only existing option was to export tsc Go to WASM, but that comes with the full Go runtime.

    And to avoid that cost, they experimented with a Rust compiler and turns out it’s even faster than the reference tsc/Go implementation.

  • Or we can just drop TypeScript completely and type-check JavaScript directly.

    With HM-style type inference, row-polymorphism, sum types, type classes for overloading + operations, recursive types for object methods, and type annotations for edge cases.

    I've been working on this since before TypeScript existed. Latest incarnation: https://github.com/sinelaw/inty

    Demo: https://sinelaw.github.io/inty/ (you may need to reload once)

  • It appears they're using a unique memory model (https://github.com/oxc-project/tsrs/blob/main/docs/PORTING.m...) to overcome the challenge that prevented the TypeScript team from choosing Rust to begin with: Rust has no GC and porting from a GC language to it often requires restructure of data.

    Essentially, they fake a GC via never-freed arenas for long-living objects. It's interesting that Rust can do that (hopefully soundly)!

  • Hey there, TypeScript team member here. The tsrs project has been extremely interesting to see come together. We've been working with the maintainers to better understand how tsrs is fast and what sorts of optimizations it uses are safe. We even did our own Rust vibe port and what we currently suspect is that a lot of the speed does not just come down to language choice, and some of what is going to make TS 7.1 faster and leaner (see the charts in the blog post) actually comes from optimizations discovered in tsrs.

    We think the wasm and oxlint integration makes a lot of sense for Cloudflare's needs, so this investment makes sense. At the same time, we'll be working hard and collaborating to make the official TypeScript toolset faster and even more efficient.

    Congrats to the tsrs team on making this official. We're excited and we look forward to continuing on collaboration!

Explore Birbla archives