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

I've begun to like having '+' and '+.' operators in OCaml. Not that I'm never tripped up, I often am, but I can never hide implicit conversions.

Another thing to consider is how you would implement having '+' for both integers and floats. In a language like C, '+' is designed for its numerical types, but what if you want to use it for big ints? Or for vectors? In a language like C++ you can overload operators, in Haskell or Rust operators are part of a typeclass or trait respectively; you need to add extra features to the language and the code generated by '+' is no longer a simple iadd or dadd instruction.

OCaml's choice may not be the best one or the most popular one, but I think it works fine.



Perhaps you know this, but just for the sake of precision and avoidance of doubt: Haskell numerical operations don't actually do any sort of conversion.




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

Search: