Displaying 20 results from an estimated 330 matches for "unaries".
Did you mean:
binaries
2017 Mar 17
3
Support for user defined unary functions
I agree there is no reason they _need_ to be the same precedence, but
I think SPECIALS are already have the proper precedence for both unary
and binary calls. Namely higher than all the binary operators (except
for `:`), but lower than the other unary operators. Even if we gave
unary specials their own precedence I think it would end up in the
same place.
`%l%` <- function(x) tail(x, n =
2017 Mar 17
2
Support for user defined unary functions
The unquoting discussion is IMHO separate from this proposal and as
you noted probably better served by a native operator with different
precedence.
I think the main benefit to providing user defined prefix operators is
it allows package authors to experiment with operator ideas and gauge
community interest. The current situation means any novel unary
semantics either need to co-opt existing
2017 Mar 16
4
Support for user defined unary functions
R has long supported user defined binary (infix) functions, defined
with `%fun%`. A one line change [1] to R's grammar allows users to
define unary (prefix) functions in the same manner.
`%chr%` <- function(x) as.character(x)
`%identical%` <- function(x, y) identical(x, y)
%chr% 100
#> [1] "100"
%chr% 100 %identical% "100"
#> [1] TRUE
2008 Mar 13
2
Making custom unary operators in R
Hello,
Is there a way to define a custom unary operator in R (other than making a
class and 'overloading' the normal unary operators in R)? The
documentation seems to suggest that only custom binary operators are
possible with the ``%abc%``construct but I was wondering whether any one
has done so. None of the RSiteSearch or RSeek queries I posed suggested
that this question had
2017 Mar 17
2
Support for user defined unary functions
>After off list discussions with Jonathan Carrol and with
>Michael Lawrence I think it's doable, unambiguous,
>and even imo pretty intuitive for an "unquote" operator.
For those of us who are not CS/Lisp mavens, what is an
"unquote" operator? Can you expression quoting and unquoting
in R syntax and show a few examples where is is useful,
intuitive, and fits in to
2017 Mar 17
0
Support for user defined unary functions
Jim,
One more note about precedence. It prevents a solution like the one you
proposed from solving all of the problems you cited. By my reckoning, a
"What comes next is for NSE" unary operator needs an extremely low
precedence, because it needs to greedily grab "everything" (or a large
amount) that comes after it. Normal-style unary operators, on the other
hand, explicitly
2017 Mar 16
2
Support for user defined unary functions
Gabe,
The unary functions have the same precedence as normal SPECIALS
(although the new unary forms take precedence over binary SPECIALS).
So they are lower precedence than unary + and -. Yes, both of your
examples are valid with this patch, here are the results and quoted
forms to see the precedence.
`%chr%` <- function(x) as.character(x)
`%identical%` <- function(x, y)
2017 Mar 17
2
Support for user defined unary functions
Your example
x = 5
exp = parse(text="f(uq(x)) + y +z") # expression: f(uq(x)) +y + z
do_unquote(expr)
# -> the language object f(5) + y + z
could be done with the following wrapper for bquote
my_do_unquote <- function(language, envir = parent.frame()) {
if (is.expression(language)) {
# bquote does not go into expressions, only calls
2011 Nov 03
1
[LLVMdev] Why there is no unary operator in LLVM?
Hi llvmdev,
I've noticed that there is no unary operator in LLVM. For unary operator
such as Neg or Or operator, the IR builder just creates a binary operation
with one dummy operand,
01823 <http://llvm.org/doxygen/classllvm_1_1BinaryOperator.html#a073c092ce74a122e898e435e60e84599>
BinaryOperator <http://llvm.org/doxygen/classllvm_1_1BinaryOperator.html>
2017 Mar 17
0
Support for user defined unary functions
William,
Unbeknownst to me when I sent this, Jonathon Carrol started a specific
thread about unquoting and a proposal for supporting it at the language
level, which I think is a better place to discuss unquoting specifically.
That said, the basics as I understand them in the context of non-standard
evaluation, unquoting (or perhaps interpolation) is essentially
substituting part of an unevaluated
2017 Mar 16
2
Support for user defined unary functions
I guess this would establish a separate "namespace" of symbolic prefix
operators, %*% being an example in the infix case. So you could have stuff
like %?%, but for non-symbolic (spelled out stuff like %foo%), it's hard to
see the advantage vs. foo(x).
Those examples you mention should probably be addressed (eventually) in the
core language, and it looks like people are already able
2011 Dec 16
3
[LLVMdev] llvm/clang test failures on powerpc-darwin8
Hi,
Thanks for the quick reply again.
> On Thu, Dec 15, 2011 at 1:17 PM, David Fang <fang at csl.cornell.edu> wrote:
>> Hi,
>>
>> I've bootstrapped llvm/clang from svn-trunk on powerpc-darwin8 (g++-4.0.1), and
>> have the following test results to share.
>> Summary below, full log at:
>>
2017 Mar 17
0
Support for user defined unary functions
Bill,
Right. My example was the functional form for clarity.
There is a desire for a unary-operator form. (rlang's !! and !!! operators
described in the comments in the file I linked to). I can't really make
that argument because I'm not one of the people who wanted that. You'd have
to talk to the authors of the rlang package to find out their reasons for
thinking that is
2017 Mar 16
0
Support for user defined unary functions
>>>>> Jim Hester <james.f.hester at gmail.com>
>>>>> on Thu, 16 Mar 2017 12:31:56 -0400 writes:
> Gabe,
> The unary functions have the same precedence as normal SPECIALS
> (although the new unary forms take precedence over binary SPECIALS).
> So they are lower precedence than unary + and -. Yes, both of your
> examples are
2017 Mar 16
2
Support for user defined unary functions
Martin,
Jim can speak directly to his motivations; I don't claim to be able to do
so. That said, I suspect this is related to a conversation on twitter about
wanting an infix "unquote" operator in the context of the non-standard
evaluation framework Hadley Wickham and Lionel Henry (and possibly others)
are working on.
They're currently using !!! and !! for things related to
2005 Jan 07
1
Creating unary operators
Is it correct (by its lack of mention in the R-Language Definition
Manual) that it is impossible to create a user-defined unary operator?
Ex: (This doesn't work, but it's an example of what I'm looking for)
> "%PLUSONE%" <- function(x) x + 1
> %PLUSONE% 2
[1] 3
And if the above is impossible, am I limited to only the + - ~ ! unary
operators for overloading?
On
2017 Mar 16
0
Support for user defined unary functions
I am biased against introducing new syntax, but if one is
experimenting with it one should make sure the precedence feels right.
I think the unary and binary minus-sign operators have different
precedences so I see no a priori reason to make the unary and binary
%xxx% operators to be the same.
Bill Dunlap
TIBCO Software
wdunlap tibco.com
On Thu, Mar 16, 2017 at 3:18 PM, Michael Lawrence
2017 Mar 16
0
Support for user defined unary functions
I used the `function(x)` form to explicitly show the function was
being called with only one argument, clearly performance implications
are not relevant for these examples.
I think of this mainly as a gap in the tooling we provide users and
package authors. R has native prefix `+1`, functional `f(1)` and infix
`1 + 1` operators, but we only provide a mechanism to create user
defined functional
2003 Mar 13
1
apply() and unary operators
Hi everyone.
What's going on here?
> a <- matrix(1:4,2,2)
> a
[,1] [,2]
[1,] 1 3
[2,] 2 4
> apply(a,2,sum)
[1] 3 7
> apply(a,2,"+")
[,1] [,2]
[1,] 1 3
[2,] 2 4
> apply(a,1,"+")
[,1] [,2]
[1,] 1 2
[2,] 3 4
>
help(apply) says that "+" should be quoted but is otherwise silent on
unary
2012 Oct 30
4
Error unary operator
Hi R - listers,
I am receiving an error. Does anyone know what this means? J
ggplot(subset(foo, Rayos != "Rayos.NA"), aes(x=HTL, y=DevelopIndex,
colour=TotalEggs)) +geom_point() +geom_jitter() +
facet_grid(Aeventexhumed ~ Rayos)
+ geom_smooth(method="lm", fill=NA) + ylim(c(0, 7))
Error in +geom_smooth(method = "lm", fill = NA) :
invalid argument to unary