Nicholas -- > Parrot_set_i_i(in,out): \x8b \x0d &IR2 \x89 \x0d &IR1
I'm tempted to push the specification of this information all the way back to the syntax of .ops files, since the code that lives there should behave the same wrt read/write on args. Dan likes C-like syntax as much as possible in other parts of the ops file. Thats why I chose 'inline' as the tag for 'trivial' ops (although that's a C++-ism). If we didn't mind the verbosity, a C-like syntax would be: inline op set(register INTVAL, const register INTVAL) { $1 = $2; } instead of inline op set(i, i) { $1 = $2; } The problem is, we lose the nice space/time/etc. saving capability of: inline op set(i, i|ic) { $1 = $2; } But, we could still adopt the C-ism 'const' as meaning read-only, and assume all non-const arguments are written: inline op set(i, const i|ic) { $1 = $2; } Or, do we really need to have the three-way in/out/inout tagset? inline op set(out i, in i|ic) { $1 = $2; } Regards, -- Gregor ____________________________________________________________________ / Inspiration >> Innovation >> Excellence (TM) \ Gregor N. Purdy [EMAIL PROTECTED] Focus Research, Inc. http://www.focusresearch.com/ 8080 Beckett Center Drive #203 513-860-3570 vox West Chester, OH 45069 513-860-3579 fax \____________________________________________________________________/ [[EMAIL PROTECTED]]$ ping osama.taliban.af PING osama.taliban.af (68.69.65.68) from 20.1.9.11 : 56 bytes of data. >From 85.83.77.67: Time to live exceeded