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

Arjen van Weelden A.vanWeelden at cs.ru.nl
Mon Jan 24 09:42:11 MET 2005


Richard A. O'Keefe wrote:
 >>	Due to lack of dynamic I/O and linking,
 >
 > Since Linux has dynamic linking, I am a little puzzled about what is
 > missing and what it is missing from.

Geoffrey Plitt wrote:
> Can you please explain "lack of dynamic I/O and linking"? What can the
> windows OS do that linux cannot?
> 
> Also, I don't understand how Famke "runs" on windows. Is it a full OS,
> or just an applications layer?
> 
> Geoff

Allow me to answer both questions at once:

With 'dynamic linking' I mean Clean's dynamic linker that can 
incorporate both code and data (including constructor descriptors) into 
a running Clean programming, in a type safe manner. This is different 
from the usual dynamic linking, which means loading shared libraries.

Without Clean's dynamic linker, the dynamic run-time system of Clean 
cannot read dynamics from disk because they contain types and code. The 
dynamic linker checks and projects the types and their constructors to 
matching types in the running program (extending the list of constructor 
descriptors when necessary). Dynamics on disk ofter contain references 
to code that may or may not be part of the running Clean program. The 
dynamic linker of Clean also takes care of this by extending the running 
program with new code.

Famke is not a full OS. I do not have the time to implement an entire 
OS, so I wrote Famke as a functional layer around an existing OS. I did 
try to abstract from the underlying OS to allow easy porting to other 
OSes, but it is still dependent on Clean's dynamic linker.

There is nothing Linux cannot do compared to Windows. (I only wish that 
Windows could do a Unix-like fork.) Unfortunately:
The Clean dynamic linker is currently only implemented on Windows.
Therefore, dynamic I/O and dynamic linking (in the way described above) 
is only available on Windows. Hence, Famke only runs on Windows.

I hope this answers your questions,
	Arjen


More information about the clean-list mailing list