3 ms·
I love F#, but haven't used it in a few years. "more automagical v3+ stuff" What is going on with this? Any examples?
by FrustratedMonky 2y ago
I love F#, but haven't used it in a few years.
"more automagical v3+ stuff"
What is going on with this? Any examples?
- MrMcCall 2y agoMaybe something to do with autodiscovering, autogenerating, and then utilizing interfaces over the net. I never used it, but watched a couple of the F# guys' vids about it. That's the extent of my involvement, but that was 10+ya, so my memory is a bit fuzzy.
- neonsunset 2y agoPerhaps type providers? Sadly they didn't really take off, they work but remain a niche feature. At least I'm not aware if any other feature fits this description closer. https://learn.microsoft.com/en-us/dotnet/fsharp/tutorials/type-providers/ https://learn.microsoft.com/en-us/dotnet/fsharp/tutorials/ty... Or perhaps Computation Expressions? But those are an integral part of F# and one of the key reasons why it's so flexible and able to easily keep up in many areas with changes in C# - something that require bespoke compiler modification in C# is just another CE* in F# using its type system naturally. * with notable exception being "resumable code" which is the basis of task { } CE and similar: https://github.com/fsharp/fslang-design/blob/main/FSharp-6.0/FS-1087-resumable-code.md https://github.com/fsharp/fslang-design/blob/main/FSharp-6.0... If you want to get back to F#, it has gotten really easy to do it because .NET SDK is available in almost every distro repository (except Debian, sigh) - i.e. `brew install dotnet`/`sudo apt install dotnet9`. I have also posted a quick instruction on compiling F# scripts to native executables in a sibling comment: https://gist.github.com/neon-sunset/028937d82f2adaa6c1b93899e358e1c0 https://gist.github.com/neon-sunset/028937d82f2adaa6c1b93899...
- MrMcCall 2y agoYeah, I think it was type providers. Thanks for the links and help. That's really excellent. Still, I'm old enough to remember "embrace and extend and extinguish" so I keep Microsoft off my linux boxen. I reject their corporate mandate and the directions their profit-motive has taken them. Besides, I wouldn't ever want my Unix systems to depend on their software's security.
- neonsunset 2y agoThis criticism could be very well placed against Google nowadays. While at it, please ask Golang team to change YouTube policies. You may also want to avoid Rust, Java, TypeScript, C and C++. For they too are """tainted""". For good measure, VS Code must be avoided at all cost and, which is terrible news, probably the Linux kernel itself.
- MrMcCall 2y agoYeah, I'm not a fan of Google at all. I like companies that keep "don't be evil" in their Mission Statement. No Rust here. Never cared for Java, its generics were crap, then .NET v2 was here with F# and, welp, Java's boxed ints were crap, too, so nope. No TypeScript. Javascript was built in a week (or something); ubiquity is not to be confused with good design. So, no node, too, in case you were curious. C and C++?!? I used C in 1990 in OS class recompiling the Minix kernel for assignments. No Microsoft there, bro. VS Code is not welcome in my home, either. No Linux kernel? No biggie, I prefer OpenBSD anyway. Does it run vi, C/C++, and Python3? Of course it does. I'm good to go, dude. I hope you enjoy your adware version of Windows, which is going to be ALL versions of Windows.
- neonsunset 2y agoFor better or worse, it's time to realize it's not the 90s, 00s or even 10s anymore. I use macOS as a main device with Linux and Windows for verifying and measuring behavior specific to their environment, while doing so from VS Code. I have a friend who has his home server farm hosted on FreeBSD, still using .NET. Oh, and luckily most of the tools I use are not subject to ideological and political infighting. I like when the technology can be relied on being supported in the future and be developed in a stable manner without sudden changes of project governance or development teams. The added bonus is not having to suffer from the extremely backwards and equally sad state that Python and C/C++ find themselves in tooling-wise. Python is somewhat fixed by uv, C/C++ - not so much.
- pjmlp 2y agoDo you also keep Microsoft contributions to Go, Linux kernel, clang, Rust, Java, Mesa, nodejs, Chrome, LSP, out of your Linux box?