[M3devel] How small can Modula-3 runtime be?

Daniel Alejandro Benavides D. dabenavidesd at yahoo.es
Mon Sep 3 17:49:02 CEST 2012


Hi all:
the main issue for not running common firm-ware is is trust, and so you need cultivate trust (using certification or verified compiler) you need either a safe language or a safe subset of it. (e.g look how many times you need to reload the firmware in an MP4 player, etc, it tell you why you need trust)
For sure there are many people who used Modula-2 in the distant past, but today HW poses other challenges, for instance a GC heap is much bigger than UNSAFE one, but Modula-3 has both you can select which parts of your system uses which RT, and you can still depend on your language to detect static type errors like ESC/Modula-3.
If I would recode a RT in a safe language I would use Modula-3 for this reason, so, either for network packet transceiver or video on demand one, you need a trusted framework for objects  on transfer, Obliq is for that, even if it's interpreted, it gives  you more expressive power so you will probably have a smaller code on a tiny interpreter.
Thanks in advance 

--- El lun, 3/9/12, Dragiša Durić <dragisha at m3w.org> escribió:

De: Dragiša Durić <dragisha at m3w.org>
Asunto: Re: [M3devel] How small can Modula-3 runtime be?
Para: "Daniel Alejandro Benavides D." <dabenavidesd at yahoo.es>
CC: m3devel at elegosoft.com
Fecha: lunes, 3 de septiembre, 2012 10:32

Theoretically, many things are possible.
But, with great smart cards having 4KB of RAM, and 100+KM of ROM (program memory) I am a bit sceptic here. It's good somebody played with that, but Pascal and Modula-2 are many times more logical choice for really low end hardware. More than enough to talk APDU :).
My interest is DVB receiver. There is usually RAM in tens/hundreds of megabytes and Flash in tens at least. And CPU with MMU, to run decent kernel. Lots of interesting devices, also.
Ever implemented TCP/IP bare bones? My team did, and while interesting project, it's nothing to write home about :). 

--Divided by a common language
Dragiša Durićdragisha at m3w.org





On Sep 3, 2012, at 3:34 PM, Daniel Alejandro Benavides D. wrote:
Hi:
it can run on smart cards, they ran OS and all there so, using a CLASP machine, you can run in silicon card:
http://www.dsse.ecs.soton.ac.uk/techreports/95-03/1997/dsse-tr-97-8.ps.gz

Thanks in advance

--- El lun, 3/9/12, Dragiša Durić <dragisha at m3w.org> escribió:

De: Dragiša Durić <dragisha at m3w.org>
Asunto: Re: [M3devel] How small can Modula-3 runtime be?
Para: "Mika Nystrom" <mika at async.caltech.edu>
CC: m3devel at elegosoft.com
Fecha: lunes, 3 de septiembre, 2012 02:45

Bare hardware would be too much a task for me now, but those numbers are great. I can spare few tens of KILObytes anytime :).
Right now I am looking around for
 cross-compiling setup. Anyone did it in work environment? (not only for bootstrap)

--Divided by a common language
Dragiša Durićdragisha at m3w.org





On Sep 3, 2012, at 12:34 AM, Mika Nystrom wrote:
=?utf-8?Q?Dragi=C5=A1a_Duri=C4=87?= writes:
...

Question is - if we go embedded, how small can we go?

Obviously, we need full Linux kernel, pthreads and all. But what about =
total RAM? Flash (persistent storage)?=20

dd

Modula-3 has been run without a kernel.

http://resolver.caltech.edu/CaltechCSTR:1993.cs-tr-93-15

Table 3.0, page 49, for byte counts of the runtime.

I have the source code somewhere.
  It's a modified version of the old SRC M3
compiler, which compiles M3 to C.

    Mika




-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://m3lists.elegosoft.com/pipermail/m3devel/attachments/20120903/37801030/attachment-0002.html>


More information about the M3devel mailing list