
Galchin, Vasili wrote:
Hello,
Frank mode on ... ;^) In terms of functionality, where is Haskell superior vs inferior to ML, Caml, OCaml, F#, Erlang, etc.? E.g. in terms of library functionality?
I used OCaml for a little while before I moved to Haskell. In some ways, such as the type system, is is somewhat similar. I had a number of gripes about OCaml, though. * Terrible I/O system. Different type for read handles than for write handles. No capability to open a file Read/Write in standard library. Could do so with the unix module, but it had yet another incompatible type and didn't work with standard functions. * Two list-like types. Standard list was strict, the other list ("streams") was lazy. Two sets of library functions for this. (But have we cloned this with ByteStreams? Hmm.) * The whole build system. Huge PITA. There were about half a dozen different attempts at making this work. Some based on make, some on autoconf, some on other things. OCaml can be compiled to bytecode or native code, the latter not supported on all platforms. Executables can only be built using libraries built the same way (bytecode vs. native code). Nothing similar to Cabal over there. I don't know if any of the above have strengthened in the last couple of years. -- John