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

World: r3wp

[!REBOL3 Extensions] REBOL 3 Extensions discussions

Maxim
23-Jul-2010
[1303]
btw, this command  


rxt-r3t-integer-mult: command [ a [integer! decimal!] b [integer! 
decimal!]]


was automatically generated by a function without any command-template, 
later in the header file.
Pekr
23-Jul-2010
[1304]
Max - saw your latest blog post. Hope the redesign of assimilation 
engine does not take too long :-)
Maxim
23-Jul-2010
[1305]
the above show the first sings of its power :-)
Robert
23-Jul-2010
[1306]
Max, I can't see the benefit yet. What I write in the C header I 
could write directly on the Rebol side.
Maxim
23-Jul-2010
[1307]
well, the fact that you don't have to write the command extension 
code itself in order to implement those 5 different interfaces is 
already a benefit.
Robert
23-Jul-2010
[1308]
But those 5 lines of Rebol are written in 5 minutes.
Gregg
23-Jul-2010
[1309]
Adrian, I like the tuplespace model for its simplicity as well.
Anton
23-Jul-2010
[1310]
Maxim, typo:
litteral -> literal
Maxim
23-Jul-2010
[1311]
oh yes.
BrianH
23-Jul-2010
[1312]
Look here: http://www.rebol.net/wiki/External_Callbacks
Maxim
23-Jul-2010
[1313]
thanks for that
BrianH
23-Jul-2010
[1314]
It's a discussion page, so it's not in any way complete yet.
Maxim
23-Jul-2010
[1315]
I know... I meant thanks for setting it up.
BrianH
23-Jul-2010
[1316]
Carl did :)
Maxim
23-Jul-2010
[1317]
I just added GC notes..
Gregg
23-Jul-2010
[1318]
Graham, on IPC, I think Carl has to be involved in the initial spec. 
I've done point-to-point systems, using TCP ports, but that's not 
a general solution. I've done a tuplespace over Rugby, but it required 
polling. I wanted to revisit Uniserve to replace Rugby in that, but 
it fell off my radar.


Ultimately, I think we need a central process--the tuplespace--that 
apps communicate through. To be general, scalable, and lightweight 
while allowing us to build something like GigaSpaces on top of it 
takes more net guru skills and design effort than I have mustered.
BrianH
23-Jul-2010
[1319]
This design-with-discussion model we've been doing lately has worked 
pretty well for modules. Perhaps it can work for callbacks and IPC 
as well. All you need is a lead designer (so it isn't design-by-committee) 
and some quality feedback.
Maxim
23-Jul-2010
[1320]
hehe ... I just realized that Carl and I are editing the page simultaneously...
BrianH
23-Jul-2010
[1321]
Better edit different sections.
Maxim
23-Jul-2010
[1322]
I just added quick notes at the end.  Carl is flusing out the callback 
modes...
BrianH
23-Jul-2010
[1323]
Oh, your GC thing should consider concurrency as well. GC won't necessarily 
be the only thing going on.
Pekr
23-Jul-2010
[1324]
isn't Carl an author of AmigaOS, a message passing based OS? Aren't 
IPC techniques well known and defined concepts nowadays? Maybe we 
should not come-up with something completly new, just choose what 
fits our model. E.g. we have got async devices ... what about having 
IPC/messaging device?
BrianH
23-Jul-2010
[1325x2]
Obviously, we would be best served by Carl as the lead designer on 
IPC and callbacks :)
If we do IPC through the port model (likely) then there will be a 
device as part of that.
Pekr
23-Jul-2010
[1327]
cool, design choosen then :-)
Maxim
23-Jul-2010
[1328]
I think it was always intended that way.
Pekr
23-Jul-2010
[1329]
is choosing callback and IPC method close to get tasking implemented 
too? :-) That would be cool - the core would feel complete that way 
finally ... I mean - for beta status ...
Maxim
23-Jul-2010
[1330]
callback not directly, but threading has some design considerations 
wrt callbacks which are probably all bubbling in Carl's mind.

Inter thread and inter application IPC will most likely be built 
using the same design.
Graham
24-Jul-2010
[1331x4]
Maybe, just maybe, it might be worthwhile adopting an IPC model that 
is used by others .. so that other languages can connect to REbol?
See distributed IPC http://www.linuxjournal.com/article/2417
ok, that one uses System V signals and Windows doesn't expose signals 
( i think )
The other ipc.lib I mentioned above runs on multiple platforms
Gregg
25-Jul-2010
[1335x2]
I think interop is important, but I don't know if there's a clear 
cross-platform choice. I looked at http://www.spread.org/some time 
back, but it doesn't support Windows and is probably best accessed 
as an extension. 


I can pull notes together for discussion, but I don't want to spend 
time on it without knowing that it has some chance of it being helpful 
and making a difference.
And the very first IPC mechanism I would focus on would be STDIO.
Robert
26-Jul-2010
[1337]
IMO IPC shouldn't be a default thing as there are zillions of ways 
how to do it.
Gregg
26-Jul-2010
[1338x2]
There are zillions of ways, and having choices is good, but if we 
have a standard it will be much easier to write tools that can coordinate 
with each other. If we have rebrowser (or, even better, a generic 
plug-in based app framwork that rebrowser is built on :-), it may 
be something that gets built anyway.
Out of the zillions of options, and with Carl's background and knowledge, 
what is the best option for REBOL (or maybe the top 3)? If Carl has 
ideas/opinions/designs already, could he write up a paragraph that 
outlines how *he* thinks it should be done?
Robert
26-Jul-2010
[1340]
The thing is, that Rebol needs to connect to the rest of the world. 
Rebol-2-Rebol is nice but IMO not the focus at the moment. RebService 
can be picked up again by the community.
Maxim
26-Jul-2010
[1341]
Each app choses its own IPC when the OS doesn't have one standard. 
 No single IPC method will be usefull.   


for REBOL itself, I do think that we should provide a construct which 
will be similar or exactly the same as what will be build for thread 
messaging.
Gregg
26-Jul-2010
[1342]
Robert, as I said, the first IPC mechanism should be STDIO. :-)
Pavel
29-Jul-2010
[1343]
Gregg windows is supported by Spread by default (more exactly Win32)
Gregg
29-Jul-2010
[1344]
Good to know Pavel. Thanks.
Carl
29-Jul-2010
[1345x2]
Gregg... you're suggesting stdio pipes, right?  I'm not sure of the 
quality of their support over all platforms, but perhaps it's possible. 
 Of course, there are no easy alternatives.  IOS had IPC, and it 
was implemented differently for each OS model.  I was going to reuse 
most of that code for R3.  But, it does use sockets for posix, but 
I think they work well.
BTW, I'm not opposed to using something like Spread... does anyone 
know its general size (e.g. complexity level?)


Also, if we went that direction, wouldn't we also want to look at 
MQ in general?
Pekr
30-Jul-2010
[1347]
I think that we can have those as external alternatives, but I am 
with Max here - we want the REBOL way ...
NickA
30-Jul-2010
[1348]
+ lots of points for having a code base that's already done and tested!
BrianH
30-Jul-2010
[1349]
But is it tested for the same kind of work we are trying to do? No 
points for trying to massage an off-topic codebase into something 
useful.
PeterWood
30-Jul-2010
[1350x3]
What is the REBOL way?
Is something that only provides interoperability between REBOL processes?
There would surely be some advantage in be able to send inter-process 
message to non-REBOL applications?