r3wp [groups: 83 posts: 189283]
  • Home
  • Script library
  • AltME Archive
  • Mailing list
  • Articles Index
  • Site search
 

World: r3wp

[Core] Discuss core issues

Graham
18-Sep-2005
[2072]
no problems.
Ladislav
19-Sep-2005
[2073x2]
One "poll" question. How many of you are using function with optional 
argument in your scripts and how much would you miss this feature?
Another "poll". What would you say to this:
Pekr
19-Sep-2005
[2075]
what do you mean by function with an "optional argument? do you mean 
refinement?
Ladislav
19-Sep-2005
[2076x2]
+-: :negate
+- 6 ; == -6
+- -6 ; == 6
Function with optional argument: we can say either:
    list-dir %.
or
    list-dir
Pekr
19-Sep-2005
[2078]
Weren't optional arguments problem in rebol? Wasn't it said to compliacte 
it language parser? I can live without them so far ... but ask those 
who code in rebol intensively ...
Henrik
19-Sep-2005
[2079]
I just use refinements, if I want optional arguments... but I rarely 
use them
Geomol
19-Sep-2005
[2080]
Ladislav, I've programmed an UNIX-like cd function with optional 
argument, but that's about it.
Ladislav
19-Sep-2005
[2081]
aha, but you are using it in the console rather than in sripts, aren't 
you?
Geomol
19-Sep-2005
[2082]
yes
Volker
19-Sep-2005
[2083]
its handy for console and i like it there. in programs its more a 
problem.
Ladislav
19-Sep-2005
[2084]
thanks
Pekr
19-Sep-2005
[2085]
Ladislav - why are you asking?
Ladislav
19-Sep-2005
[2086x3]
just to find out which way of handling UNSET! looks optimal
the NEGATE case: for me the name looks "ugly", I prefer something 
shorter, like +-
(any better idea?)
Geomol
19-Sep-2005
[2089]
Nope, I think your +- is fine and short.
Graham
19-Sep-2005
[2090]
why the need for short function names?  Rebol is a symbolic language, 
so why not use more symbols ? :)
Geomol
19-Sep-2005
[2091x2]
I have a question about the order of arguments to a function. I wanna 
hear your opinion. I'm programming REBOL versions of some of the 
Amiga graphics.library functions. BltMaskRGBMap is a function of 
mine, that will copy part of an image at a certain position and size 
to another image through a mask. It takes the arguments: source image, 
source position, destination image, destination position, size and 
finally mask. That would be the order of the arguments, if it was 
an Amiga graphics.library function. But in REBOL, destination is 
often (always?) first, so maybe I should switch source image and 
position with destination image and position? What do you think would 
be the better way for a REBOL programmer?
Graham, :-) readability maybe?
Graham
19-Sep-2005
[2093x4]
Well, I can't recall the last time I needed to negate something.
Better to have something expressive like 'negate than obscure symbol 
combinations.
Remember that Rebol is meant to be read like english.
memory copy operations are always source -> destination.
Geomol
19-Sep-2005
[2097]
I use negate several places in Canvas, e.g. to calculate the angle 
of an ellipse:

canvas/effect/draw/2: negate arccosine ((u/x * v/x) + (u/y * v/y)) 
/ divisor
Graham
19-Sep-2005
[2098]
that does not +- my argument.
Geomol
19-Sep-2005
[2099]
Graham, are they?
WRITE destination value
destination -- (Type: file url object block)
     value -- (Type: any)
Ladislav
19-Sep-2005
[2100]
NEGATE looks quite ugly to me:
    mod negate n scale
the
    mod +- n scale
looks more readable (to me again)
Geomol
19-Sep-2005
[2101]
But maybe write isn't considered a mem operation, even if destination 
is an object or block? Well, I'm not sure.
Ladislav
19-Sep-2005
[2102]
When there are both ABS and ABSOLUTE, I would prefer to have both 
+- and NEGATE too
Geomol
19-Sep-2005
[2103x2]
CHANGE series value

Change seem to have destination first aswell. Didn't Carl write a 
blog about it at some time?
Some say tomato and some say tomahto
Some say potato and some say 
potahto
Tomato, tomahto, potato, potahto
Oh, let's call the whole 
thing off
Ladislav
19-Sep-2005
[2105]
:-)
Geomol
19-Sep-2005
[2106x2]
I'm sure, Carl wrote something about the order of arguments somewhere, 
but can't find it!?
Like a "function arguments guideline"? Doesn't it ring a bell?
Gabriele
19-Sep-2005
[2108]
Ladislav: the short form for negate was intended to be -, but of 
course that can have its own problems. +- is not very readable to 
me though, as i wouldn't immediately associate it with negate.
Ladislav
19-Sep-2005
[2109x2]
well, there is a character used on calculators:  #"±", but I am not 
able to write it on Czech keyboard
OTOH, - isn't a shortcut for negate. Cf:
    a * negate x
Romano
19-Sep-2005
[2111]
> x: 2
== 2
>> 2 * negate x
== -4
>> 2 * - x
== -4
>> 2 - - x
== 4
>> 2 - negate x
== 4
>>
Ladislav
19-Sep-2005
[2112x2]
right, I picked wrong example, but anyway, - is not a NEGATE shortcut:
>> 5 - 2
== 3
>> 5 negate 2
== -2
Romano
19-Sep-2005
[2114x2]
only in rare case
you need absotutely negate instead of -
Ladislav
19-Sep-2005
[2116]
OK, this case looks rare to you, how about this case:
    add 5 negate x ...
    add 5 - x
Romano
19-Sep-2005
[2117]
rare case , at least for me,  in my experience, and you can always 
use

add 5 ( - x )

which is also more fast
Ladislav
19-Sep-2005
[2118x2]
yes, I can, it just needs parentheses, i.e. may be considered less 
readable (a matter of taste, I think)
e.g. Carl is preferring to use NEGATE instead of parenthesized - 
AFAICT
Geomol
19-Sep-2005
[2120]
Taking the example with add, 5, negate and x, we can write:
add 5 negate x
add 5 (- x)
5 + negate x
5 + (- x)
+ 5 negate x
+ 5 (- x)


and using Ladislav's +-: :negate, you can change negate to +- in 
the above. In REBOL there're really many ways to write even the simplest 
thing.
Romano
19-Sep-2005
[2121]
also:
5 + - 2