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

World: r3wp

[!REBOL3 Schemes] Implementors guide

Kaj
21-Dec-2010
[2263]
I think Christian Ensel's ODBC scheme is the other current example
Pavel
23-Dec-2010
[2264]
Interresting, when I write to global variable at awake level everything 
works OK. Somebody give me a hint how to send received data from 
awake to actor level please.
Steeve
23-Dec-2010
[2265]
An awake functions deals with events.
An event has a port  property.
An actor takes a port as input parameter.
Here the link.

If the port contains locals vars, they can both (the awake and the 
actor) access the port's locals.
Pavel
23-Dec-2010
[2266]
And from subport (tcp) to scheme level port? Can low level awake 
write directly to scheme locals?
Steeve
24-Dec-2010
[2267]
Sure, they both share a cross reference in their locals, like in 
R2.
Pavel
27-Dec-2010
[2268]
Finally I've got it, so now I have a time scheme returning (RFC 868) 
integer number of seconds from 1-Jan-1900. I tried to define refinement 
/date to return well formated date!. But there is no possibility 
to define different refinement except of hadcoded one so I have to 
use /lines for that, silly.
ChristianE
27-Dec-2010
[2269]
Would you mind to show the interface/api or the actual implementation 
of your time scheme? You're probably (mis-)using the /LINES refinement 
of READ, but maybe you can instead use WRITE for that ...
Pavel
28-Dec-2010
[2270]
ChristianE the idea arises from the fact the time server send only 
response and close immediately, so I only implemented Read actor. 
The problem is that you may not create a new refinement but only 
redefine one existing. 

time scheme needs a little polishing and will be posted to script 
library.

Anyway you are right the only possibility how to controll the scheme 
in wider borders is to write a command block and wait for reply. 
Another not so generall would be write into port state context and 
use this as switch for read actor.
Pavel
7-Jan-2011
[2271]
prot-time.r was uploaded to rebol.org, now works only synchronous 
way ie: read time://your.time.server, server must be RFC 868 (port 
37).  basically it returns number of UTC seconds from 1-Jan-1900/0:00:00. 
When refinement /lines it returns well formated local time (using 
local timezone)
Pavel
11-Jan-2011
[2272]
Graham, 1. where you put the R3 schemes (if so)? wik.is is definitely 
down. 2. I have to say your daytime scheme doesn't work for me (functionality 
commented out I think). 3. you can add prot-time into your collection 
if you like to.
GrahamC
11-Jan-2011
[2273x2]
Pavel, I would not be surprised.   I have not looked at this stuff 
for over a year.   Yes, wik.is is now defunct and so my site is gone.
See https://github.com/gchiu/Rebol3/tree/master/protocols
I'll look at the schemes again when R3 goes beta.
Kaj
11-Jan-2011
[2275]
Ah, and R3 goes beta when it has enough schemes...
BrianH
11-Jan-2011
[2276x3]
R3 may go beta before any additional schemes are added - "enough" 
is a matter of opinion, and for core functionality, HTTP is enough 
(only needed for CHAT and UPGRADE). HTTP should be improved before 
beta though.
Sorry, TCP, DNS, probably UDP, and files/directories are also needed 
for beta.
If you need additional schemes for your own projects, contributions 
are welcome.
Kaj
11-Jan-2011
[2279x3]
Nevermind, I was just being sarcastic :-)
As far as I'm concerned, Core should be stamped 3.0 Release after 
another run through the bug list. It's basically only View that is 
not presentable yet
My current gripes are mostly with the documentation
BrianH
12-Jan-2011
[2282]
We have been doing beta triage on the bug list already :)
Kaj
12-Jan-2011
[2283x2]
Cool!
Hope I'm not adding new ones too fast ;-)
Pekr
12-Jan-2011
[2285x2]
Kaj - you misunderstood. What BrianH imo means is just general note, 
not any recent activity :-) Last R3 activity of Carl is almost 3 
months old imo ...
You should not forget, that we plan to come into beta for almost 
2 years :-)
Kaj
12-Jan-2011
[2287]
I know, but the bug database is being worked on right now
Oldes
12-Jan-2011
[2288]
is it?
Pekr
12-Jan-2011
[2289]
No, it isn't - we just add new tickets imo. Changelog does not show 
any changes, nor Carl's notes, etc.
Kaj
12-Jan-2011
[2290x3]
Brian is working on it, and if he says Carl is working towards a 
beta, I believe him
I also believe it because, when I first ported my CMS to R3 almost 
two years ago, it didn't fully work, so I decided not to use it; 
and now that I have ported it again I expected the same, but it has 
turned out that I'm using the R3 version now
Further, I can see that most of the important restructurings have 
been done last year, and the source publication has been sorted out, 
so I am now able to fill in missing pieces with extensions, with 
a reasonable certainty that the interface is stable
Pekr
12-Jan-2011
[2293]
That is understandable, but it does not contradict my claim, that 
"being doing beta triage" is an still ongoing process, not something 
entirely new :-)
Kaj
12-Jan-2011
[2294]
In other words, Core is usable, extensible and published now (since 
a few months)
Pekr
12-Jan-2011
[2295]
Yeah, maybe Carl should put a beta moniker on it ASAP.
Kaj
12-Jan-2011
[2296]
That's what I suggested
Pekr
12-Jan-2011
[2297]
we can be in beta another xy months, then do few RCs, and then 3.0.
Pavel
12-Jan-2011
[2298]
when I try to evt: make event! [type: 'custom code: 1] I got: 
== make event! [
    type: 'custom
    offset: 1x0
]

ie code dissappears and the value is merged into offset curiously 
is it intended?
Pekr
12-Jan-2011
[2299]
I am not sure making custom events is supported?
Pavel
12-Jan-2011
[2300]
minimally it is included in "official" http scheme
Pekr
12-Jan-2011
[2301]
ah ... well then ... maybe Cyphre know more about custom events ...
Steeve
12-Jan-2011
[2302]
you can create objects instead of event
Pavel
12-Jan-2011
[2303]
is it possible to slip object instead of event! ?
Steeve
12-Jan-2011
[2304x2]
slip ?
Event handlers are basically functions, they can accept event! or 
object if they have the same properties.
GrahamC
4-Mar-2011
[2306x2]
I am wondering how one would implement the IMAP4 IDLE command .. 
see http://tools.ietf.org/html/rfc2177


It seems that once one sends an IDLE command, the server might then 
send a response back any time up to the server's inactivity timeout.
which would lead to the client timing out on a tcp port
BrianH
8-Oct-2011
[2308x2]
I've been starting to give some thought about how you would make 
an ODBC dialect more powerful by using R3-style scheme tricks. Has 
anyone else come up with some good ideas?
For instance, do we really need to support the manual connection 
pooling that R2 does? By this I mean requiring you to open a database 
port and then doing a FIRST on that port to get the actual connection. 
Shouldn't it be possible to just open a port in one step, and have 
the connection pooling be internal or otherwise hidden?
Kaj
8-Oct-2011
[2310]
It did strike me as a kludge
BrianH
8-Oct-2011
[2311]
Just came up with a way to maintain R2 compatibility and still support 
the advantages of the R3 style. Just working through the details.
BrianH
28-Nov-2011
[2312]
Has anyone made an R3 scheme for testing? I mean a scheme that implements 
every possible port action, but just logs the values passed in. I 
want to get a better idea about how refinements are passed in to 
non-native schemes, if there are any potential security holes, etc.