On Nov 22, 2012, at 10:08, Tony Harminc wrote: > > But there are significant missing pieces that make life quite > difficult for many cases. Notably, the input and output types of > external functions are constrained to be the same, so that one cannot > write an external function that takes, say, character (SETC-type) > input and returns numeric (SETA-type) output. > Strange. Is it because:
o The external function uses the same storage area for its argument and its result? o There's no way to declare the result (and argument) type of an external function? Can an external function take multiple arguments? If so, can the arguments be of different types? Is the result type the type of the first argument? If so, one could supply a dummy first argument just to set the the result type, and the real arguments in &2, &3, ... What happens if an external function called with a SETB-type argument attempts to return, for example a SETC-type result? Must the arguments and results of external functions be self- defining terms, or may the be, for example, relocatable address values? What are the first-class objects of HLASM (at assembly time, not at execution)? -- gil
