Version française
Home     About     Download     Resources     Contact us    

This site is updated infrequently. For up-to-date information, please visit the new OCaml website at

Browse thread
[Caml-list] Does Caml have slow arithmetics ?
[ Home ] [ Index: by date | by threads ]
[ Search: ]

[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
Date: 2004-07-12 (14:03)
From: Alex Baretta <alex@b...>
Subject: Re: [Caml-list] embedded OCaml
Brandon J. Van Every wrote:
> From: Alex Baretta
>>We are about to ship our first embedded ocaml application: an
>>glass cutting table. The PLC is 2Ghz Celeron with 256MB RAM,
>>Linux 2.4 and Ocaml 3.07+2. It's just magnificent!
> Sounds interesting.  Love to hear about things that aren't theory.

Very much, commercially. Industrial control is one of the few 
applications of computing where there still is some money to earn.

>>We are working on a logical control framework based on Ocaml. We will
>>release under the GPL when the API will have stabilized.
> How does a GPL license help anyone else in commercial industry?  Or are
> you going to do one of those "GPL or you can pay us" licenses?

We currently develop the complete automation solution: PLC kernel, 
low-level hardware drivers, application logic. We are more than willing 
to share our technology with the Ocaml community in order to further the 
development of the core and enhance our ability to develop custom 
application logic at lightning speed.

And, BTW of benchmarking Ocaml vs. anything else, here are the figures. 
It does memory management, driver management and process management. We 
currently compile to bytecode for testing purposes because we are too 
lazy to use ocamlopt, yet the kernel runs an order of magnitude faster 
that the physical layer can handle. We spend most of our time waiting 
for IO. Typical CPU loads are under 10% on the above mentioned 2GHz 
Celeron. Typical memory usage is under 2MB.

To communicate with the UI, the PLC kernel uses a stateless 
request-response binary protocol running over a TCP connection. This 
protocol is implemented with ocaml's native marshalling. The actual UI 
application has been written in Xcaml, my company's web application server.

The PLC kernel was developed in two days and debugged in a couple more. 
The web UI required about a man week. The low level driver required a 
couple of man weeks. We believe that no other computer language would 
have given us anything close to the results we achieved with Ocaml.

The conclusion: Ocaml is a mature industrial language. It's definitely 
not plain theory.


To unsubscribe, mail Archives:
Bug reports: FAQ:
Beginner's list: