[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