Hacker News new | ask | show | jobs
by evil_buzzard 24 days ago
the claim of "no runtime" is a bit dubious... you're telling me that you're statically linking a full, modern UI library into every app?
5 comments

A runtime is needed for GC, unless you're fundamentally changing Javascript. Even golang has a runtime.
Even C has one, regardless of how tiny it happens to be, or the possibility of freestanding deployment.

In compiler speak, a runtime provides all infrastructure required by the language for program startup, shutdown, infrastructure for the standard library execution.

RUntime is an overused term here. The point is "no JS runtime, JIT-type"

Of course there is a (native) runtime, as there is for all languages (like you said) :)

Its documentation mentions a garbage collector.

https://docs.perryts.com/language/supported-features.html#ga...

Yes. One that makes use of the underlying UI library for the specific system (macOS UI, Win32 UI, GTK4, ....)

The Perry runtime is surprisiginly small, especially since we (LLVM rather) strip out all that is no needed in one of the compile steps.

Static linking just puts the runtime inside the binary. The binary size is the real clue here.
They probably are, given that's how Flutter and other Rust GUI frameworks work too.