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

> could do the same just in different ways

Write a function that works with any monad? No?

Write a function that works with any numeric type? No?

You can fake type-classes, but it’s in no way a first class citizen. You can’t easily fake higher kinds.

You may not need those features, it doesn’t make my original statement any less true.



I agree with the first missing feature as you state; I just don't know how much value-add those features actually add in real world apps - often people use them in weird and unintitutive ways as well. F# has other features that other languages don't have as well. I find the workflow syntax eliminates some of the need for the first; and I find I can write functions that work with most numeric types at least a lot more so than C#/Java/etc. As a simple example the in-built F# library comes with functions that work on most number types (e.g SumBy works with anything that supports (+) including my own types). Sure there might be advanced examples that I wish I could do but they don't come often. I do find F# more concise, generally less "smart" and more explicit than Scala code which I think is a good thing. I've seen some funky Scala code in the past. Ease of code/learning/etc, and a maintainable codebase at least for me trumps features most of the time.




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

Search: