[MLton] Multicore CPU's and MLton

Ray Racine rracine@adelphia.net
Sun, 03 Jul 2005 17:36:49 -0400


On Sun, 2005-07-03 at 16:08 -0500, Henry Cejtin wrote:

> I completely agree that multi-process parallelism is really easy to use and
> any thing beyond that is a nightmare.

Sorry to say my previous rambling contains many grievous typos and
unfortunately I was actually attempting to state the opposite :).

I was trying to say:

- The web et al. is inherently functional in nature and it is a shame
that the supposed language of the Internet, Java, is OO and not
functional.

- For web (and concurrent multiuser) based development native thread
concurrency is essential for scalable applications. IMHO.

- It is yet a further shame that the Java threading model is based upon
a mutex / critical section model, synchronized blocks, when much more
sophisticated concurrent abstractions more along the lines of CML are
easier to use and much less prone to deadlocks.  See Alice's futures for
example.  All too slowly CML like libraries are being "standardized"
into the Java platform.

- Best summed up as IMHO Alice would be a superior "winner" over Java or
PHP et al for the language of choice for Internet development; however,
worse is all to often considered better.

A far better model of the Web is to consider it as a PURE functional
REST based system where a user's sessions (state) is a captured
continuation.  A similar model would be to consider and the client /
server interaction along the lines of a Haskell monadic computation
where the session state (world) is the threaded state.


Ray