[clean-list] Re: Clean and the Open-Source community

Martijn Vervoort martijnv at gmx.de
Sun Jan 30 15:36:45 MET 2005


On Thursday 27 January 2005 23:24, you wrote:
> >The dynamic linker, written in Clean, is more than just a linker. It is
> >actually an extension of the Clean run-time system to manage dynamics. A
> >relatively small part of the Clean code does the actual loading and
> > linking of code. It is certainly possible to replace it with an Linux
> > equivalent. Using Clean's C-interface, it should be possible to even
> > re-use existing open-source code.
> >
> >The other low-level part of the dynamic run-time system resides in the
> >application itself: the decoding/encoding of the Clean's internal graph.
> > It is written in x86-assembler. Should not be too much of a problem to
> > port it to x86-Linux. For other linuxes, it should be re-written. Part of
> > the rewrite could be done in Clean and the rest in ABC-code or assembler.
>
> Is there any fundamental reason why the assembler cannot be replaced
> completely by say - C? Also for the rest of the runtime system.

I can only answer for the dynamics part. It has historically grown that way. I 
guess that the level of ABC-code is too high to accurately describe the 
process of  unpacking and packing of the graph. Perhaps with an extension. 
John once proposed to use the immediate code of the code-generator to express 
the algorithm.

Except for the raw packing and unpacking, the rest of the code could be 
written in Clean itself.

>
> A while ago, I spent some time in both the PowerPC and Intel assembly
> code so that I could obtain a Linux PowerPC version. I succeeded, but I
> also got the impression that it would have been better to avoid assembly
> completely. And yes, I know that - long ago - I also wrote a transputer
> garbage collector in assembly. But if I had to do it now, I would do it
> differently.

The same goes for the decoding/encoding of graphs (dynamics).  Armed with 
experience I have now, I would do it differently now. 

> 
> It would not only be better for portability, but it would also make it
> easier for people to jump in and actually understand the system.
>
> regards,
> Marco Kesseler




More information about the clean-list mailing list