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

World: r3wp

[!REBOL3-OLD1]

Anton
31-Mar-2006
[37]
Yes, agree. But I think that been taken into account by the push 
for rich text.
Henrik
31-Mar-2006
[38]
a simpler method to change the feel for common operations, like trapping 
keys would be nice, so you don't have to redo the entire feel.
Ammon
31-Mar-2006
[39x2]
There needs to be a seperate feel interface for Look and Feel.   
One of the most common complaints that I heard from people using 
VID was that they were unable to change the way a style looked without 
rewriting the feel object.  It should be easy to alter or set either 
the look or the behavior of a face without altering the other.
I'd love to see a kind of a developers summit happen as RT gets ready 
to attack each part of REBOL 3.0 they should host an online meeting 
for several hours or even all day if that's possible so that we can 
all get together here on AltME or some online conferencing software. 
 That way all the developers will have a chance to let RT know about 
their wants/needs as they develop each peice of REBOL 3.0.
Pekr
31-Mar-2006
[41]
Ammon - that will not imo happen, as it never happened in the past 
:-(
Ammon
31-Mar-2006
[42]
I can always dream though, right? ;-)
Pekr
31-Mar-2006
[43]
:-)
DideC
31-Mar-2006
[44]
Sure ? Remember the early View 1.3 project (december 2004 or was 
it 2003?).

Anybody has it's voice and could said what he wants to see and even 
come with the code.
Anton
31-Mar-2006
[45]
That was a really busy time. I could hardly keep up with all the 
testing. But it was good. :)
Thør
1-Apr-2006
[46]
.
Pekr
3-Apr-2006
[47]
This probably belongs to Tech news channel, but - SkyOS got new rendering, 
buffered, which much improved performance. It was done by one man 
in a short period of time. I do hope we get more advanced compositing 
for new View too :-) http://www.skyos.org/?q=node/508
Kaj
4-Apr-2006
[48]
I couldn't help but think that he's copycatting Syllable again...
shadwolf
4-Apr-2006
[49x2]
REBOL 3 for the wiiiiiiiiiiiiiiiiiin
i'm inpatient to see it  ^^ and to get a ride on the new C DLL framework 
it ill include
Ladislav
5-Apr-2006
[51x2]
I hope it is OK to post here a "technical question"?
some of you know my http://www.fm.tul.cz/~ladislav/rebol/lfunc.r
script defining a "luxury function" with initialization of "static 
variables". Example of the behaviour:

    f: lfunc [] [a: 0] [a: a + 1]
    f ; == 1
    f ; == 2


; etc. The behaviour is caused by the fact, that the initialization 
block causes all variables in it to become "static local variables", 
i.e. in this case A is static and local. It looked "natural" for 
me to define it this way.
Pekr
5-Apr-2006
[53]
and the question is?
Ladislav
5-Apr-2006
[54]
Rebol3 is going to have CLOSURE-type functions for which initialization 
may be "cheap". Example:

    c: closure [/local a] [a: 0] [a: a + 1]

The difference lies in the fact, that the behaviour would be:

    c ; == 1
    c ; == 1


, i.e. the value will be reset to initial value every time a closure 
is called.
Pekr
5-Apr-2006
[55]
ah, sorry to interrupt you ...
Ladislav
5-Apr-2006
[56x3]
Would you like to have this kind of initialization?
(because I may imagine some people saying this is "unexpected" to 
them, or expected, ...)
e.g. you, Pekr, would you like to have this, don't like, don't mind, 
any other option...?
Geomol
5-Apr-2006
[59]
How would a function be defined with the same functionality as your 
lfunc?
Ladislav
5-Apr-2006
[60]
it is quite easy to define as a mezzanine, you may either have a 
look at the implementation mentioned above or ask me to post somewhere 
a simplified version (because the one mentioned above is probably 
more complicated than you would like...). Disadvantages of my LFUNC 
are, that it needs one special "static" context created when the 
function is being defined, which costs some time, e.g.
Geomol
5-Apr-2006
[61]
So your lfunc will still work in REBOL3, as it does now?
Ladislav
5-Apr-2006
[62]
I am pretty sure it will, at worst with a simple modification
Geomol
5-Apr-2006
[63x2]
To understand it better...
I can make a function this way to have initialisation every time:
f: func [/local a] [a: 0 a: a + 1]
What exactly is the goal with CLOSURE?
Ladislav
5-Apr-2006
[65x4]
example of the CLOSURE behaviour:
b: []
    f: closure [x] [append b 'x]
    f 1 ; == [x]
    f 2 ; == [x x]
    reduce b ; == [1 2]

; which means, closure variables somehow "remember" their values, 
compare it to:
>> g: func [x] [append a 'x]
>> g 1
== [x]
>> g 2
== [x x]
>> reduce a
== [2 2]
(where a was defined to be an empty block initially)
Geomol
5-Apr-2006
[69]
hm tricky. It needs some getting used to. And you question is, if 
closure should initialise very time? What will happen, if it doesn't?
Ladislav
5-Apr-2006
[70]
CLOSURES are actually something like "more proper" functions, but 
their evaluation is "more expensive" (takes more time)
Geomol
5-Apr-2006
[71x2]
Will people understand the difference?
And is it usefull?
Ladislav
5-Apr-2006
[73x2]
will people understand the difference: *if* they come into trouble 
when using FUNCS, closures may help them to obtain the desired behaviour
more "persuasive" example:
Geomol
5-Apr-2006
[75]
ahh, good point!
Ladislav
5-Apr-2006
[76x4]
make-f-returning: func [x] [does [x]]
f-returning-ok: make-f-returning "ok"
f-returning-ok ; == "ok"
f-returning-wrong: make-f-returning "wrong"
f-returning-wrong ; == "wrong"
f-returning-ok ; == "wrong"
make-g-returning: closure [x] [does [x]]
g-returning-ok: make-g-returning "ok"
g-returning-ok ; == "ok"
g-returning-wrong: make-g-returning "wrong"
g-returning-wrong ; == "wrong"
g-returning-ok ; == "ok"
what do you say to this?
the alternative to the initialization block is to not use it and 
initialize everything to NONE like in the FUNC case
Geomol
5-Apr-2006
[80x2]
ok, I see the difference. And I guess, it's benefitial, because using 
bind can be difficult.

And your question is, if closure should have a third block with "cheap" 
initializations?
Like in your:
 c: closure [/local a] [a: 0] [a: a + 1]
Ladislav
5-Apr-2006
[82]
the question is, if users want to have the additional (actually second) 
block for the initialization purposes of do not mind to have everything 
initialized to NONE
Geomol
5-Apr-2006
[83x3]
Damn hard question! :-)
It mayl be easier to say, when I've done 10 programs using closure. 
But I'll think about it.
may
Ladislav
5-Apr-2006
[86]
you do not have to know anything about closure, you may imagine the 
same question for FUNC case: would you appreciate to be able to specify 
the initial values for locals?