HN user

norman784

778 karma
Posts3
Comments372
View on HN

But current LLMs have a context window limitation, so you can't fit your whole source code into the context, that's why compilers guide the LLMs when they are producing code and that's where Rust compiler shines, it has very good diagnostics that help fix the issues with a few iterations.

So while LLMs are good at writing walls of code, they do not produce good code, just good enough and sometimes it is wrong (here is where Rust can help a bit by checking that the program is sound, but for the most part you should also validate the logic).

The dream language for LLMs would be one that has some kind of proving that function inputs/outputs are what you expect (I think it's called proof theory, but it's not my area of expertise, so I could be wrong), you kind of can emulate this with new types[0].

[0] https://doc.rust-lang.org/rust-by-example/generics/new_types...

Apple WWDC 2026 1 month ago

Are we living the worst times in a while technology wise, this presentation showed nothing useful. Last year at least they showed some interesting features, but as always I don’t use any of them, the only one I wanted in the past few years was to use the iPhone from my mac, but never shipped in EU. And the other feature was universal control that I use every day and works just fine most of the time.

Zig Zen Update 2 months ago

I recommend you to watch Andrew Kelly interview[0], while I'm not the target audience of Zig, I don't see him driving away any user. Also Jai as for now is a non existing language, just a selected few has access to it, but Jai approach is a kitchen sink, from what I saw it is all over the place in terms of features, now Zig vision feels cohesive.

[0] https://youtu.be/iqddnwKF8HQ

Those might be niche devices, I think if were Samsung or Pixel devices, it would be a different story, similar for Apple devices, they are fewer variants, that it would be a lot of developers putting effort on adding upstream Linux support if they were open, like is happening with the Macs with the M series.

I was thinking that this or opening the bootloader should be required (by governments) for deprecated devices. Imagine all the Android and Apple devices you could give a second life by installing in them linux with some lightweight window manager (with touch support), or even Ubuntu Touch, etc.

Zig is low level, so it will certainly not replace your python usage, it is more like a modern C than anything else. There’s a video of a recent interview with Andrew Kelley, if you want to watch it to understand better what Zig is for, it’s on Jetbrains YouTube channel.

I was exploring a similar approach, but not focused on AI, my idea was basically group projects by workspace, where each workspace has a path and is related to a project, you can spawn terminals, editor and web browser windows in this workspace, the web browser cookies and such should be associated to a workspace, that way it will not leak between workspaces and also this allows you to have different sessions opened in different workspaces.

Unlike Cate, the windows of the terminals, editor, browser, etc, each one was handled similarly like Niri tiling scrolling window manager, that way you can use the keyboard to move around, where you can group windows in a column or split them, have different sizes, is not quite where you have a free form, but an horizontal collection of windows that you can scroll.

I can think a few reasons:

- Cranelift applies less optimizations in exchange for faster compilation times, because it was developed to compile WASM (wasmtime), but turns out that is good enough for Rust debug builds.

- Cranelift does not support the wide range of platforms (AFAIK just X86_64 and some ARM targets)

You need a fault tolerant parser, tree sitter is a good example on how it works in practice, your compiler should have the ability to run a few steps (parsing, symbol resolution, type checking, etc) with an incomplete/invalid AST.

isn't it generally impossible to recovery syntactic errors

AFAIK Zig was designed in such way that, in most cases, you can parse each line independently, like their strings by default are single line, you need a special syntax for multiline strings that still are per line basis.

From the link it seems that Ladybird architecture is very modular, in this case LibJS is one of the subsystems that has less external dependencies, said that they don't need to migrate everything, only the parts that makes sense.

Javascript is a self contained sub system, if the public API stays the same, then they can rewrite as much as they want, also I suppose this engine now will attract new contributors that will want to contribute to Ladybird just because they enjoy working with Rust.

Don't forget that the Rust ecosystem around browsers is growing, Firefox already uses it for their CSS engine[0], AFAIK Chrome JPEG XL implementation is written in Rust.

So I don't see how this could be seen as a negative move, I don't think sharing libraries in C++ is as easy as in Rust.

[0] https://github.com/servo/stylo

Most of what the section "Why ROX exists" reminds me of Rust and Zig, where both are more explicit (but Zig even more where there aren't hidden allocations, while Rust hides it).

Said that I really miss all the i{8|16|32|64|128|size}, u{8|16|32|64|128|size} and f{32|64} in other languages, I think having num and num32 is a mistake (IMHO) and naming like them like Rust/Zig provides more clarity (and it's also more concise).

For the "repeat" keyword I find it odd, because most other languages uses "for" but I can understand the reason and might be able to get used to it.

Otherwise I find always interesting new programming languages, what new they bring to the table and the lessons learned from other PLs.

I have my doubts on Jai, besides being built towards game development, from what I read/watched about it, it has 2 or 3 meta programming capabilities, like comptime, macros, etc it feels too much of the same, also Jai is not built towards correctness or safety, John mentality is that he knows what he is doing, so he doesn’t need those guardrails and he wants instead expressiveness.

Also Jai is like C++ in complexity, while Zig is similar to C, very simple language.

Carbon is vaporware so far, there’s no language that could be used yet, because they first need to solve the C++ interop and fast compilation times, that is what will shape the language, so no one is using it, because it doesn’t exist yet.