Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Very advanced type system which allows to move a lot of program correctness to typing system. So basically if your program compiles, it probably works.

It's also has GC which makes it better suited for most programs, compared to Rust with its manual memory management.





Rust does not have manual memory management, and its type system also has the property that if your program compiles it probably works, IME.

I hear this about both Haskell and Rust, and yet, when I tried both in the former I wrote a useless program because I didn't handle state (and yet passed all tests!) while in the latter I immediately wrote a deadlock.

So...yeah.


How did your tests pass if you didn't handle state?

Because it is also possible to write tests that don't adequately capture real-life requirements.

It was an MQTT server, and the tests basically went "if we have these subscriptions, then...", but no subscriptions ever got actually stored by the server.


It is still possible to write bugs in both Haskell and Rust.

Yes, that's my point. I'm replying to claims that "if it compiles it probably works". My limited experience with both is "nah".



Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: