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

World: r3wp

[!REBOL3]

Gabriele
13-May-2010
[3029]
so my point is, a lot of code changes (due to C not being a very 
nice language from this point of view), but the design itself is 
not going to change very much IMHO. since Carl is a perfectionist, 
he won't release a host that is just "half done" or something like 
that.
Pekr
13-May-2010
[3030x2]
I believe command/DELECT changes are being made for good, so that 
we can use it also for other extensions. The only thing missing for 
Extensions then is - Devices integration and or callbacks?
ARM smartbook to port R3 to :-) http://bbrv.blogspot.com/2010/05/moving-to-mass-production.html
PeterWood
13-May-2010
[3032]
I was surprised  that the ++ function returns the value before the 
increment. I believe this is counter intuitive especially when  in 
C-type syntax ++ as a prefix increments the value before it is used 
as opposed to ++ as a postfix where the value is implemented afterwards.

So ++ i in REBOLl is equivalent to i++ and not ++i.
Maxim
13-May-2010
[3033]
Gab, yes I actually have some secret little links into the batcave 
 ;-)


but I don't have specific details beyond the fact that he is commited 
to the view extraction and that its not a piece of cake.


the rest of my comments really are just by obvious architectural 
analysis and having tried to plug into the core myself and realizing 
how much is still missing to provide an integrated GUI which cooperates 
with the core.   even the event/device/messaging system isn't totally 
usable externally right now.


the command! concept is being rewritten from the ground up so it 
supports some kind of contextualized operation (could this be the 
basis for callbacks into the core?  :-)

and when I mean design changes, Its realy things like: 

   before we could call an action directly within a face... there is 
   no callback procedure in R3 hostkit beyond running a string in the 
   global context.


   there is no object/function support in the extensions, cause that 
   opens up a big can of worms (and some secrets into the interpreter's 
   operation?).


   the current R3 relies on the protection it has living within core, 
   now, Carl will have to open up the core a lot so that he can plug 
   back into it, and yes, since Carl is a perfectionist, he won't allow 
   that openess to be a security risk or half-assed solution.
Pekr
13-May-2010
[3034x2]
the command! concept is being rewritten from the ground up so it 
supports some kind of contextualized operation (could this be the 
basis for callbacks into the core?  :-)
 - heh, interesting!
Is it just your guess, or is it the info from the bat-cave? :-)
Maxim
13-May-2010
[3036x3]
just my guess.
that first line is all I can say that that's related to R3, from 
the batcave. 


I *might* have some very exciting news late june, regarding something 
unrelated to R3 though  ;-)
the command! rewrite was exposed by Carl a while back, Brian can 
probably give more precise details.
BrianH
13-May-2010
[3039]
PeterWood, when ++ and -- were originally proposed, I called them 
INC and DEC. They changed to the C-like naming later. The behavior 
is good, but the names confuse the very C programmers they were supposed 
to be a shout-out to.
Maxim
13-May-2010
[3040x2]
I still prefer INC & DEC
(for that very reason.  It creates assumptions, which cannot hold 
because of the semantic differences between REBOL & C).
BrianH
13-May-2010
[3042]
Same here. Especially since the other half of my proposal was INCREMENT 
and DECREMENT functions that did the a: a + x operation. But that 
ended up being too many characters for something so simple.
Maxim
13-May-2010
[3043]
brian, do you think it would be possible to have postix operators 
in REBOL's do dialect?
Ladislav
13-May-2010
[3044x2]
yes
...but only taking one argument
Maxim
13-May-2010
[3046]
ok, since post fix are usually unary operations I don't see that 
as a limitation.
Ladislav
13-May-2010
[3047]
nevertheless, it is not worth the mess
Maxim
13-May-2010
[3048]
I agree, I was just wondering.
BrianH
13-May-2010
[3049x2]
You could have an op! that ignores and passes back its second argument, 
if any. It would be tricky, and destroy the evaluation of the argument 
following it.
Any other solution would require changing the DO evaluation rules.
Maxim
13-May-2010
[3051]
yes I can see that there would require a little change in the op! 
datatype to let do know how to handle values before & after, but 
the dialect itself isn't limited in the sense that it couldn't be 
modified...  just being curious for discussion's sake... not a request
BrianH
13-May-2010
[3052]
All ops take two arguments, according to the evaluation rules. In 
theory, the evaluation rules could be changed to allow an op to take 
one argument, the left one. Or maybe that would already work - we 
have to wait for user-defined ops to be sure either way.
Pekr
13-May-2010
[3053]
Maxim - if your news is not related to R3, what is it related to 
then? :-)
Maxim
13-May-2010
[3054]
a special use of R3 ;-)
BrianH
13-May-2010
[3055]
Brian can probably give more precise details.
 - No, but perhaps a more precise guess.


Currently a command! contains a reference to a dispatcher (handle 
to the extension, which contains an RX_Call function) and a selector 
(an integer). In theory, the implementation of a command! could include 
(or be) a bit of native code - that is generated at command! creation 
time - to call the dispatcher with the selector, and the address 
of that native code could be provided to an external native function 
for the native function to call. The native code inside a command! 
or its dispatcher would need some kind of synchronization stuff too, 
to manage the transition from external to internal process models. 
Or we could get a callback! type, which would have a GC-safe reference 
to that native code and the dispatcher. Either as the standard command! 
type or as a callback! type, when used as a callback the function 
would need to be GC-safe because external native code doesn't track 
REBOL heap references.

Or we could end up with something completely different :)
shadwolf
13-May-2010
[3056]
Peterwood not only C/C++ the ++ operand exists in most of the languages 
now in days compiled or interpreted... (python, perl, tcl/tk, ruby, 
java, etc...)

most people want i++, instead of i= i + 1 but i always thought the 
right operand instead of "++" should be "=+"  somthing like i=+ is 
in my opinion more explicit...


Pekr; some time the Carl says things we can't understand and mainly 
cause we don't have a full view on the source code he is talking 
about...

modular coding is obvious but  you have several ways to realise it... 
puting preporcesor flag to include or not part of the code when you 
compile is one solution

having them indeferent folders and binaries or libraries is another.. 
And that was always one of my  biggest comment rebol wants to do 
all every where so it ends being

weak every where and doing incompletly most of the things it pretends 
to do ...
Graham
14-May-2010
[3057]
http://eclectic-pencil.blogspot.com/2010/02/rebol-3.html
Pekr
14-May-2010
[3058x2]
Nice :-)
He is still less desperate, than some of us :-)
Graham
14-May-2010
[3060x2]
he can read the chat thru a browser .. no need to fire up r3
or can we script the login, and download of new messages :)
Pekr
14-May-2010
[3062]
Can we? Does R3 chat have an API? I mean - there are commands, but 
can we script it? Dunno how ...
Graham
14-May-2010
[3063x5]
http://www.rebol.com/r3/chat.r
Hmm... Script Error: This script needs View 2.100.28 or better to 
run correctly
So, why does a console app need view ?
auto-login: func [/force] [
            all [
                any [force prefs/auto-login]
                prefs/user
                prefs/pass
                attempt [login-serve prefs/user prefs/pass]
                true
            ]
        ]
Should be able to modify chat to autologin, check for new messages 
and then quit.
I wonder what sort of flood protection there is ...
Pekr
14-May-2010
[3068]
Hmm, so we can only have 255 Windows?I thought I will make small 
stress-test one day, opening 10K Windows under Vista :-) IIRC, my 
friends did something like that with AmigaOS, and it still worked 
:-) http://curecode.org/rebol3/ticket.rsp?id=1610&cursor=1... anyway 
... this is imo unnecessary limitation ....
BrianH
14-May-2010
[3069x2]
Graham:

If I want to set something to the index of a series, or something 
else if it's not there I have to do this

b: either a: find series var [
	index? a
][ 	default ]

when I'd rather do

 b: any [ index? find series var default ]

So how about letting index? also take none as an argument ?
Interesting idea, Graham. It's not that dissimilar to the recent 
proposal that EMPTY? take none. CureCode it :)
Maxim
14-May-2010
[3071]
index? none 

+1

 :-)
Graham
14-May-2010
[3072]
http://www.curecode.org/rebol3/ticket.rsp?id=1611

Done
BrianH
14-May-2010
[3073x2]
Cool, thanks! We can post a comment to the EMPTY? none blog mentioning 
this ticket as well :)
Done. Also tweaked the ticket to be more specific, and added a comment 
in favor of it.
Steeve
14-May-2010
[3075]
I can make a prediction, Gradually, other functions will

be modified to propagate the value # none instead of returning an 
error.
This is only the beginning.
BrianH
14-May-2010
[3076]
Seriously people, get to know and love ASSERT. You are going to miss 
those errors someday, to help you track down and prevent data corruption.
Graham
14-May-2010
[3077]
Steeve are you against the idea?
Steeve
14-May-2010
[3078]
On the contrary, I''ve always been for :)