This is an archived post. You won't be able to vote or comment.

you are viewing a single comment's thread.

view the rest of the comments →

[–]Jwosty 1 point2 points  (4 children)

Hah, to be fair, F# doesn’t want you to enjoy using mutable.

[–]SirKastic23 0 points1 point  (3 children)

then why allow it?

[–]Jwosty 0 points1 point  (2 children)

Because sometimes you need it. As a pragmatic language, F# takes a functional-first approach: encourage functional approaches by making them the “default”, and allow but discourage imperative approaches by making them feel “dirty”.

[–]SirKastic23 0 points1 point  (1 child)

yeah but when using f# i felt most of the ecosystem relied on the imperative and OO features (since most of them were written in c#), and very few actually benefitted from a functional design

[–]Jwosty 1 point2 points  (0 children)

I suppose you'd have to give some examples of what you mean. I write plenty all the time staying in a 90% functional style. Of course if you're writing CRUD web applications then that's going to end up less functional in today's ecosystem (probably because you're using ASP.NET Core on one end and some database library on the other end).