bson@rice-chex.ai.mit.edu (Jan Brittenson) (11/22/90)
Working on STAR, a Saturn Assembler, I've run into a slight portability problem. What C compilers out there support passing structures by value? This is necessary for the implementation of typed expressions (all expressions are currently integer). Specifically, I'd like to know this for C compilers for MS-DOS (MSC), Macintosh, AT&T System V (I already know gcc supports it), and various unix flavors like HP/UX, AOS, Xenix, and others. Also, if anyone with FTP access is interested in beta-testing STAR for any of the above systems, drop me a line. One more thing, is anyone objecting to shallow-binding symbols in a traditional lisp-fashion instead of implementing a more HLL-stylish scoping? I think shallow-binding is more general and allows hairier macros to be defined. (Which is important! :-)) Specifically, symbol values could be saved and restored with assembler directives. It is also by far easier to add to the existing code. To exemplify the last paragraph, it would allow things such as the following to be done: ; Create new instance of foo if pass == 1 && def foo ; If first pass, and foo exists save foo ; save it endif foo=new_value ; Rebind foo ... ; Restore foo if instances foo > 1 restore foo endif Opinions appreciated!