caml-list - the Caml user's mailing list
 help / color / mirror / Atom feed
From: Basile Starynkevitch <basile.starynkevitch@inria.fr>
To: Leszek.Holenderski@philips.com, caml-list@inria.fr
Subject: Re: [Caml-list] Is Caml good for embedded systems?
Date: Wed, 4 Feb 2004 15:29:41 +0100	[thread overview]
Message-ID: <20040204142941.GA7925@bourg.inria.fr> (raw)
In-Reply-To: <4020F374.2DD8BC4E@philips.com>

On Wed, Feb 04, 2004 at 02:28:20PM +0100, Leszek.Holenderski@philips.com wrote:

> I wonder if anybody attempted to use Caml (or any of its variants)
> to program embedded systems?

You didn't define what you mean by embedded systems... There are lots
of various definitions, and you didn't gave any (real or fictiuous)
examples, so we have to guess.

Some old version of Caml-light (not Ocaml) has been ported to some old
Palm PDA, IIRC.

IIRC, someone experimented embedding Ocaml [or some Caml variant...?]
(using the bytecode interpreter) inside the Linux kernel.

> The main obstacle, as I see it, is a rather poor arithmetic. It
> seems that the only directly supported numerical type is 31-bit
> integers. Everything else (floats, 32-bit integers, fixed-point
> integers) has to go via pointers.

I'm not sure that the arithmetic is poor enough to be a problem in
practice (but YMMV).

I see others potential issues

1. embedded systems usually are extremely tight on memory space, and
the runtime does take some space.

2. The current runtime requires floating point (and also some IO
support) in the runtime - this can be worked around with some 
work...

3. most importantly, embedded systems usually have significant real
time requirements, and the Ocaml garbage collector, even if it is very
performant, is not exactly realtime (and coding realtime GC is a
nightmare, and has important costs), but behave nicely even in
interactive usage.


Still, I tend to believe that the current Ocaml is usable in embedded
systems, provided they are powerful enough (i.e. a 32bit CPU, with at
least 16Mb RAM... ie something which is not smaller than 10times less
my average desktop)....

What kind of embedded systems do you have in mind?

-- 
Basile STARYNKEVITCH -- basile dot starynkevitch at inria dot fr
Project cristal.inria.fr - INRIA Rocquencourt
http://cristal.inria.fr/~starynke --- all opinions are only mine 

-------------------
To unsubscribe, mail caml-list-request@inria.fr Archives: http://caml.inria.fr
Bug reports: http://caml.inria.fr/bin/caml-bugs FAQ: http://caml.inria.fr/FAQ/
Beginner's list: http://groups.yahoo.com/group/ocaml_beginners


  reply	other threads:[~2004-02-04 14:29 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-02-04 13:28 Leszek.Holenderski
2004-02-04 14:29 ` Basile Starynkevitch [this message]
     [not found] <md5:958EBD708C4668D189128BAA6CBC00B2>
2004-02-05 16:43 ` Leszek.Holenderski
2004-02-06  9:26 Leszek.Holenderski

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20040204142941.GA7925@bourg.inria.fr \
    --to=basile.starynkevitch@inria.fr \
    --cc=Leszek.Holenderski@philips.com \
    --cc=caml-list@inria.fr \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).