I agree with this guy on the 'int' type. My OCaml code has often produced the wrong result because of it rather than merely run slowly.
I also agree with the type zoo. While it is rather cool to have simple types to appease Hindley-Milner inference, nobody makes it impossible for you to add extra types. In that respect types becomes a way to give a representation of what is in a variable. A 8x8 boolean matrix has a pretty interesting representation in 64 bit for instance which you want if speed matters.
But I would still choose Ocaml over Common Lisp or Scheme for any kind of problem where single-cpu performance matters.
I also agree with the type zoo. While it is rather cool to have simple types to appease Hindley-Milner inference, nobody makes it impossible for you to add extra types. In that respect types becomes a way to give a representation of what is in a variable. A 8x8 boolean matrix has a pretty interesting representation in 64 bit for instance which you want if speed matters.
But I would still choose Ocaml over Common Lisp or Scheme for any kind of problem where single-cpu performance matters.