[Date Prev][Date Next][Thread Prev][Thread Next][Author Index][Date Index][Thread Index]
systems programming Clang
- To: ZZ Development <zzdev@xxxxxxxxxx>
- Subject: systems programming Clang
- From: Antti-Juhani Kaijanaho <gaia@xxxxxx>
- Date: Thu, 31 Aug 2000 22:16:12 +0300
- Mail-followup-to: ZZ Development <zzdev@xxxxxxxxxx>
- Sender: Antti-Juhani Kaijanaho <ajk@xxxxxxxxxxx>
I've been thinking about the Clang after Thales Clang, for systems
programming. I'm considering calling it Aristotle Clang, allowing a
twin language for applications (applitudes?) programming as Plato Clang,
but I'm open to suggestions.
The language will be a candidate for developing the bootstrapped client.
A list of design criteria for the language: instead of targetting a VM
inside the ZZ structure like Thales Clang, it will target bare metal
(ie. the various machine languages); it will allow writing portable
systems programs in the style of C; it will allow machine-dependent
low-level bit fiddling (for OS kernel development); it will have
conservatively designed abstraction mechanisms for developing big
programs; it will be biased for hand-writing programs but will avoid
constructs that make automatic generation hard; it will include effectivce
and efficient FFI.
A design problem: Tuomas would like that the initial compiler targetted C,
but I don't think that's a viable choice, since we need a way to allow
efficient garbage collection for some programs written in this language,
and C as the target language effectively prevents that. Personally I'd
target GNU/IA32 first, since it is widely used, and Win32/IA32 as the
first port, for the same reason. Then would probably come ARM or whatever
the handhelds use, since we're targetting those anyway.
%%% Antti-Juhani Kaijanaho % gaia@xxxxxx % http://www.iki.fi/gaia/ %%%