Hacker News new | past | comments | ask | show | jobs | submit | CmdSheppard's comments login

Hard disagree. One of the reasons I fell in love with F# was the succint code one can write, specifically due to the compilers ability to infer types.


Don't you at least type function params and returns?

Also, what do you build in F#? I think if I moved out of Python that would be it. OCaml is one of my favorite languages ever, and F# looks rad.


Not OP, but that's exactly what I do - type my public functions fully.

I built a basic static program analyzer for Solidity smart contracts over the past 7 months. I'm re-writing it to work off CozoDB now, as I want to be able to express more complex mutually-recursive concepts and I believe Datalog is much better suited for that.


Only public APIs - all of my internal logic I mainly let the compiler figure it out.


I have run into situations where piping causes a type inference error but the equivalent function call doesn't, which is annoying because I have to use two different conventions in that case. I'm still an F# noob, so it's possible I'm doing something wrong.

I also get nervous that I'll change my function logic and the wrong type will be inferred, and it'll compile because the old and new types just happen to be logically compatible, but I get the wrong behaviour (or maybe this is just trauma from my VB6 days).

I tend to type my public function parameters and return parameters for this reason.


F# is rigid enough IMHO to stop you from making mistakes like this. The rule of thumb is that it compiles it's usually a corect program.


Twitter is unable at this point. I deactivated my account just now. Sad but it was becoming an increasingly frustrating experience.


Glad I don’t live in China


WPF DataGrid causes memory leaks - this is still the case in .NET 4.8


Is it still the case in .NET 5 though?


Consider applying for YC's Summer 2025 batch! Applications are open till May 13

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

Search: