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

Reply via email to