Stratego programs are getting more and more portable. The compiler now produces standard C code and by moving the libraries the use of fork is being reduced. The next bottle-neck is the Stratego library. Currently, the library mixes C99, POSIX, and POSIX XSI functions. This makes it very difficult to produce a Stratego library that can be used to compile and run Stratego a strict C environment, such as native Microsoft Windows or systems that do not support XSI extension functions.

To solve this, we need to separate (or configure) the library into three components: C99, POSIX, and POSIX XSI. For this we need to figure out for every native primitive what standard it requires. The SUS API tables are useful for this:

http://www.unix.org/version3/apis.html

After this operation, it should be possible to compile Stratego programs natively for Microsoft Windows. Maybe we should check the ATerm library as well. For programs that use sglr, it will be useful to verify that sglr uses only C99 functions.

Submitted on 8 August 2006 at 00:43

Log in to post comments