Hacker News new | ask | show | jobs
by dagheti 5890 days ago
If found working in a ML language like Haskell or F# puts a really tight straight-jacket on code style, and is wonderful at forcing you to adopt a new paradigm.

When you go back to coding in other languages, you approach the same problems in different ways because you were forced to solve them in a strongly typed functional manner.

1 comments

Yeah, and after you're comfortable with ML or Haskell, try Prolog. Unification+backtracking is like pattern matching cranked to 12. As a bonus, a lot of the corners of Erlang will suddenly make more sense, and several Prolog implementations come with good libraries for constraint programming.

Also, not to nitpick, but Haskell isn't an ML dialect, and while my experience is with OCaml (not SML or F#), OCaml doesn't force you to do anything in a purely functional manner the way Haskell does - it just makes it an option. (I think this is a good thing, but I guess it's a downside when you're trying to force yourself to try new stuff.)