News for hackers. Stuff that matters.
Re:Real World Ocaml announced by oconnor0 on Monday February 27, 2012 @09:23PM (#3641568)
> So what's impractical about Ocaml?

The biggest issue Ocaml has is that its GC is single-threaded which basically removes the ability to do parallel programming inside a single executable. You have to resort to message passing between multiple processes.

For what it's worth, I think I heard rumors there's work on an improved GC.

Re:Real World Ocaml announced by gnuvince on Tuesday February 28, 2012 @01:18AM (#3642129)
I'd add that Unicode support is also a problem. latin-1 isn't even good for French. My brother's name is Jérôme and the first thing I try with any language to check strings is this:

    # print_endline (String.uppercase "Jérôme");;
    JéRôME
Oops, two characters didn't get properly uppercased.

I really like OCaml, it's probably my favorite language, and I hope that RWO will increase its popularity and that this will in turn help improve the language. I'm reading a lot about Haskell these because of the times when I want to do some multi-programming with unicode text.

Re:Real World Ocaml announced by sanxiyn on Tuesday February 28, 2012 @04:32AM (#3642544)
Re:Real World Ocaml announced by pnathan on Monday February 27, 2012 @10:16PM (#3641717)
As annoying as that is, it could be turned into a design feature of your programs - only doing message passing.

Hoare's CSP pretty much takes this approach, and for my money, I think that sort of approach makes the common case of parallel programming easier.

Re:Real World Ocaml announced by pgroves on Monday February 27, 2012 @11:21PM (#3641868)
I'm doing a project using Python on AppEngine. AppEngine forces you to use a bunch of single threads doing what is really message passing, but implemented in Python so it's slower than Ocaml.

I think this is going to turn out to be a killer feature of Ocaml once people get used to the fact that using 8 cores at once isn't that great of a goal when on-demand computing platforms let you scale much much larger. Pretty soon no one will be all that concerned about how much happens on any one machine. It will be how much gets done per process, and how much gets done per 'cloud'. AppEngine already does this.

And it already is a design feature. The GC is not single threaded b/c they're too dumb to figure out how to fix it (not that you were saying that, but people tend to jump to that conclusion). It's because they want the fastest possible single threaded performance, which means not polluting the GC with the kinds of locking mechanisms necessary to support multi-threaded operation.

Re:Real World Ocaml announced by cageface on Monday February 27, 2012 @11:56PM (#3641946)
I think this is going to turn out to be a killer feature of Ocaml once people get used to the fact that using 8 cores at once isn't that great of a goal when on-demand computing platforms let you scale much much larger.

I think this point isn't made often enough. There certainly are times when scaling within a single machine is useful but, as is more often the case, if you have to scale beyond a single physical instance you might as well plan for process-oriented parallelism up front.

Re:Real World Ocaml announced by oconnor0 on Tuesday February 28, 2012 @12:15AM (#3641998)
Certainly, but there are circumstances - say high-performance math & data heavy stuff - that benefits greatly from a shared memory implementation.

And the ease of use of multi-process architectures needs to be improved as well.

Re:Real World Ocaml announced by avsm2 on Tuesday February 28, 2012 @10:02AM (#3643360)
Note that OCaml is just fine for heavy math and data stuff: the garbage collector has a global lock, but threads work just fine for CPU intensive activities. Just don't generate much garbage (which is important for any data-heavy processing), and all is good.
Re:Real World Ocaml announced by pnathan on Tuesday February 28, 2012 @01:04AM (#3642096)
The common case of parallelism is usually fine with process/message passing work IMO.

For the other 20% of the time... threads are awesome. :)

Re:Real World Ocaml announced by gtani on Tuesday February 28, 2012 @01:18AM (#3642128)
Re:Real World Ocaml announced by gtani on Tuesday February 28, 2012 @12:28AM (#3642025)
Re:Real World Ocaml announced by gringomorcego on Monday February 27, 2012 @09:46PM (#3641640)
JoCaml, my friend.
Re:Real World Ocaml announced by apgwoz on Monday February 27, 2012 @10:54PM (#3641819)
Not sure why this got downvoted. JoCaml is actually an implementation.
Re:Real World Ocaml announced by oconnor0 on Tuesday February 28, 2012 @12:12AM (#3641992)
Does JoCaml rewrite the GC? Or how else does it get around the GC issue?
Re:Real World Ocaml announced by sanxiyn on Tuesday February 28, 2012 @05:46AM (#3642694)
JoCaml uses multiple processes. (But hide IPC details from you.)