Message-ID: <482C44DA.1090702@lancaster.ac.uk>
Date: 2008-05-15T14:12:42Z
From: Barry Rowlingson
Subject: ** operator
In-Reply-To: <482C1DD1.9090607@stats.uwo.ca>
Duncan Murdoch wrote:
> It's fairly unlikely to go away, but it's an old undocumented feature,
> so use at your own risk. There are lots of other undocumented features,
> but maybe no others at the lexical level. Check out src/main/gram.y if
> you want to search for more at that level, and src/* if you want them at
> any level.
I just had a quick browse in the source and I can't see where "**" is
defined. names.c relates ^ to the power operation in arithmetic.c but no
sign of "**":
./names.c:{"^", do_arith, POWOP, 1, 2,
{PP_BINARY2, PREC_POWER, 1}},
grepping for POWOP doesn't help.
It's not an operator like '*':
> get("**")
Error in get("**") : variable "**" was not found
> get("*")
function (e1, e2) .Primitive("*")
and there's no ** in gram.y.
searching for 'power' and quoted "**" doesn't help me either. Searching
for unquoted ** just produces too much C code to be useful.
It's got to be there somewhere!!!
Barry