Gregor N. Purdy:
# > 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;
#   }

Or we could go with the Perl 6-ism:

        inline op set(i is rw, i|ic) {
                $1=$2;
        }

--Brent Dax
[EMAIL PROTECTED]
Configure pumpking for Perl 6

"Nothing important happened today."
    --George III of England's diary entry for 4-Jul-1776

Reply via email to