On Wed, 2007-05-23 at 00:39 +0100, Jon Harrop wrote:
> Fascinating. Thanks for reporting the information. If I might be so brash as
> to comment on the problems you had that have already been fixed by F#:
I mentioned F# to them, by the way. Somewhere along the lines of "It looks
good, it might be the future, unfortunately, at the moment, you need Windows and 400Ã¢âÂ¬
worth of Visual Studio to try it".
> There are two possibilities here:
>
> You want to use Windows => Use F#, Visual Studio and F# for Visualization and
> not OCaml.
>
> You want good free software => Use Linux and not Windows.
Not my call, unfortunately. So far, I have no budget, and Windows.
> > * Error messages of the type system are somewhat obscure. [...]
> F# currently has better graphical throwback of inferred type information but
> slightly worse messages, IMHO.
Good to know. Can I get this graphical throwback without VS ?
> OCaml is
> largely undocumented (the compiler, several code libraries, the top-level,
> camlp4). There is some additional documentation (e.g. my book) but you must
> pay for it.
There's no way I'm going to demand additional purchases from my
students.
> > * Arrays of arrays (of arrays...) are a bit obscure for students,
> > although they're getting better at it.
>
> F# provides multidimensional arrays, arbitrary-size arrays, immutable arrays,
> resizeable arrays, allows array subscript syntax to be overloaded and is
> faster than OCaml on array code. Arrays are a real weak point of OCaml ATM,
> along with div and mod, functors, concurrency and some other things.
Div and mod ? How so ?
> If you want your students to be future proof then you would do well to prepare
> them for massively parallel computing on CPUs with hundreds or even thousands
> of cores. OCaml it completely ill-equipped for this. In contrast, F# provides
> native threads/locks/semaphores/threads/threadpools inherited from .NET as
> well as async programming via extra syntax. Concurrency is beautiful in F#
> and it works today.
Well, I didn't have enough time to tell them much about threads et al. I
just had time to mention their existence.
Plus I tend to believe that the OCaml-style future looks more like
JoCaml (or Acute, or Oz, or Erlang) than like semaphores.
Cheers,
David