Vincent wrote:
Hello,
I want to write a router with real time performance. I am trying to find the best language to use for it, and would like to use a functional language if possible. Erlang might work, but I want to distribute the router incorporated into a Linux live boot CD, so I think that maybe whatever I distribute has to be GPL compatible. I don't know if I can distribute the Erlang runtime with that license condition. I tried to join the Erlang questions list to ask about that, but so far have not been able to join the list.
Is Gambit Scheme suitable for real time applications? Does it have a real time garbage collector?
Vincent
If you're talking hard real time, you're pretty much limited to three choices: C, assembler and Forth. Nothing else is going to be close enough to the hardware and interrupt structure.
Given that, and your requirement for open source, there's gcc for C and gforth for Forth. I'm not sure which assemblers are best; there are probably four or five usable assemblers for i86-32, but your choices may be more limited for other chip sets.
I would guess 98 percent of the router code these days is written in C. A lot of the guts of routing is already built into the Linux kernel, so you might be able to get away with a Scheme that compiles to C.