perry VS proof-is-in-the-pudding

Compare perry vs proof-is-in-the-pudding and see what are their differences.

perry

A native TypeScript compiler written in Rust. Compiles TypeScript directly to executables using SWC and LLVM. (by PerryTS)
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com
featured
perry proof-is-in-the-pudding
12 4
3,610 7
38.2% -
9.9 8.4
7 days ago 24 days ago
Rust TypeScript
MIT License MIT License
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.

perry

Posts with mentions or reviews of perry. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2026-05-29.

proof-is-in-the-pudding

Posts with mentions or reviews of proof-is-in-the-pudding. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2026-05-29.
  • Perry Compiles TypeScript directly to executables using SWC and LLVM
    10 projects | news.ycombinator.com | 29 May 2026
    > strict, deterministic subset of TypeScript

    I'll add that page, thanks. Today, almost all of idiomatic TS is supported including most of its utility classes. Dynamic JS-style code is not supported, for example adding a function or a field into an object, prototype-based class modifications etc. I'll compile a list.

    > Also, what's an "ambient surface" in this context?

    I need to clean up the docs before v1. But the idea is that when JS gets transpiled into C# (or Rust, upcoming), JS globals and built-ins are invalid. The native "surface" is C#, meaning the string is .Net's string type and the methods that you expect on JS strings would be missing. But when you opt in to a surface, such as the "JS surface", the compiler applies surface defined translations such as substring becoming SubString, either directly or via a companion helper class. This allows you to write against standard JS and Node APIs, instead of relying on the stdlib/builtins of the target framework (currently only CLR).

    For example, all the projects you see under this use the JS surface: https://github.com/tsoniclang/proof-is-in-the-pudding/tree/m...

  • Show HN: Tsonic – A TypeScript to native code compiler via CLR and NativeAOT
    2 projects | news.ycombinator.com | 13 Jan 2026
    You can see some examples here: https://github.com/tsoniclang/proof-is-in-the-pudding

    And a hugo clone (native code of course) here: https://github.com/tsoniclang/tsumo

  • The Performance Revolution in JavaScript Tooling
    4 projects | news.ycombinator.com | 10 Jan 2026
    Actually TypeScript is an excellent language (in my view) for targeting native code. It reads cleaner than Java, C# and even golang in many cases - at least to me.

    For example, JS/TS's file-path based imports are more intuitive; several languages do it via explicit namespaces when well-written code is already organized into directories. Of course, all of these design choices are subjective. In fact, disagreement with a few people in the C# user community is one of the reasons I started this project.

    > At what point do JavaScript developers need to realise that this is all convoluted, and begin to use languages better suited for the job.

    I'm curious to know what makes TS convoluted. Here's an example of multi-threading: https://github.com/tsoniclang/proof-is-in-the-pudding/blob/m...

What are some alternatives?

When comparing perry and proof-is-in-the-pudding you can also consider the following projects:

rustc_codegen_cranelift - Cranelift based backend for rustc

tsonic - Compile TS to native code via NativeAOT

lumina - Lumina is an eager-by-default natively compiled functional programming language with the core goals of readibility, practicality, compiler-driven development and simplicity.

tsumo - A hugo-inspired blog engine

wasmtime - A lightweight WebAssembly runtime that is fast, secure, and standards-compliant

typescript-go - Staging repo for development of native port of TypeScript

SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com
featured

Did you know that Rust is
the 3rd most popular programming language
based on number of references?