[comp.sys.handhelds] A few questions

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!