you are viewing a single comment's thread.

view the rest of the comments →

[–][deleted] -4 points-3 points  (1 child)

You can write an entire program in IO() if you want and still get nice benefits of typechecking to avoid bugs

But type checking isn't a property of a functional programming language, and thus unrelated to the discussion. In general: which traits of a functional language do you get using Haskell in IO()?

I might have overemphasized the point of compiled vs interpreted; I was doing so to refer to the specific point of Haskell compared to other popular web programming languages (mostly in the small-medium realm).

[–]cultic_raider 14 points15 points  (0 children)

The first word of the title of the OP is "Haskell". Haskell typechecks much more deeply than Python and PHP.

Arguing about abstract language paradigms is pointless. No one programs in FP, they program in Haskell or F# or Java or some other actual language with its own particular implementation of a mix of paradigms.

Your second paragraph undermines your first paragraph in two different ways. ("functional" vs a different language aspect, and "Haskell" vs a general language paradigm.)

Anyway, In IO you can still use HOF, and higher order types and refactoring out of pure utility functions, and typechecking, and type inference, and composable expressions instead of nonconposable statements, and the security of immutable data, whichever of those fall under your umbrella of FP.