Topcoat is pushing the boundary of server applications with Rust
Thread
Unofficial Hacker News client; not affiliated with Y Combinator.
Topcoat is pushing the boundary of server applications with Rust
Unofficial Hacker News client; not affiliated with Y Combinator.
muglug · · focus · HN ↗
Funny, the Python guys say Python is the best general-purpose language for AI and the Go guys say Go is the best general-purpose language for AI etc etc
Tuna-Fish · · focus · HN ↗
But on the other hand, the compile time of Rust is really counterproductive. On large, established projects, most prompts I write now spend more time compiling on my machine than they spend outputting tokens. In a way this is great because the tokens are the expensive part, but it does mean that when faster LLMs will come, they will not meaningfully improve iteration speed for me.
I wonder how much of the compile time of Rust is inherent to the type system. There might be room for a language with slower runtime speed (GC?), but as good of a type system as Rust, so long as compile times are much faster. Switching languages has never been easier, anyone have any suggestions? IMO hard requirements are algebraic types and error handling based on them.
tmpz22 · · focus · HN ↗
I realized all the Rust code produced meant squat if it couldnt be audited well afterwards.
Tuna-Fish · · focus · HN ↗
lucideer · · focus · HN ↗
dabinat · · focus · HN ↗
But you can speed things up a lot by organizing your project into separate crates (which are compiled in parallel) and tweaking compiler flags. I speed up a large project by 7x this way.
Also, if you’re using fat LTO in release builds, switch to thin. It’s almost as fast at runtime and much much faster to compile.
stymaar · · focus · HN ↗
Since it's going to be mostly cargo check and incremental builds, I don't think it matters in practice.
selfhoster1312 · · focus · HN ↗
scns · · focus · HN ↗
There is OCaml which compiles very fast in debug mode.
pjmlp · · focus · HN ↗
The big difference to Rust is the availability of interpreters, REPL, which can equally load compiled code, and full blown AOT for release builds.
Rust's problem isn't type system, rather lack of tools.
jaen · · focus · HN ↗
selfhoster1312 · · focus · HN ↗
jaen · · focus · HN ↗
Typed dicts (with the latest PEPs) are an improvement over any other language besides TypeScript. Yes, in TS, certainly `Partial` / `Pick` / `Omit` and intersection types make modeling the web API swamp easier, and that's one place TS is superior to anything else.
Python does have the Type Manipulation PEP 827 [1] out to give it similar powers to TS, but I feel that's unlikely to be implemented soon / as-is.
Having an effect system for exceptions would be nice indeed. That's actually something I'm looking into (having an "allowed exceptions" annotation for functions and then checking it at test-time via failure injection and possibly in type checkers).
[1]: <a href="https://peps.python.org/pep-0827/" rel="nofollow">https://peps.python.org/pep-0827/