
Hello Christian, In short, write whatever implementation you like most. Using lists are very-dump malloc-style blocks of memory is fine. As you said we can always add intermediate layers later if neccesary. On Sat, Mar 01, 2003 at 05:59:38AM +0100, Christian Tismer wrote:
Which are the allowed basic operations assumed to be available?
Only the ones for which you can easily think about a C translation. For example, the list += operator could represent the realloc() primitive.
would they be split? Is there one interface file in std, which configures itself by some global options and some local include, or would there be a std_c and a java folder?
I don´t know exactly, but I think we should put all this into the same std/ folder because the Java-style implementation can also be used to emit C given the proper translator, so that the boundaries are fuzzy. Maybe you can create subdirectories like std/malloc/ that contain the low-level concepts. In all cases write the dependencies explicitely (we´ll see at that point which syntax could be used for that).
of not doing a long implementation at all, but to link against an external library. This is personal taste which we should provide space for. Where do you think this space should live?
This could be done in std/xxxlong.py if you are using the library xxx, for which we should also find a syntax. Not sure about strings and builtins yet. The meat of the implementation of strings shouldn't change too much anyway, so I suggest you just try them with any low-level representation you like (strings are fine, if you manage never to need to mutate them). A bientot, Armin.