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

World: r3wp

[!REBOL3 Schemes] Implementors guide

Andreas
14-Jan-2010
[1410]
read returns a binary!
Steeve
14-Jan-2010
[1411]
bu you could return a block if you wish ;-)
Gregg
14-Jan-2010
[1412]
Ah, so this is a native READ, not a wrapper in your scheme. Got it.
Andreas
14-Jan-2010
[1413x2]
i could return all messages in a block, yes
i think i got the idea of READ iterating from some R3 example
Steeve
14-Jan-2010
[1415]
Andreas, where is your source, is that free ?
Gregg
14-Jan-2010
[1416]
Then we need a callback mechanism for progress, if we read all in 
one shot.
Andreas
14-Jan-2010
[1417x3]
http://bolka.at/share/prot-pop3.r
[temporary url]
not yet licensed
Steeve
14-Jan-2010
[1420]
not need of a callback, you can return a block and populate the same 
block further.
You see what i mean ?
Andreas
14-Jan-2010
[1421]
interesting idea
Gregg
14-Jan-2010
[1422]
I'd like to see it stay low level in the scheme, as Andreas has it, 
and add wrappers for higher level operations.
Steeve
14-Jan-2010
[1423]
yep, i think so
Andreas
14-Jan-2010
[1424x3]
we can add a series protocol later on
the source avail at http://bolka.at/share/prot-pop3.rcurrently still 
has a series interface
length? for getting the num of messages avail, pick for reading a 
specific message
Gregg
14-Jan-2010
[1427]
I think I understand Steeve, but then how does your calling code 
know the block has been extended, without polling?
Steeve
14-Jan-2010
[1428x2]
and read for the whole block (which can be updated)
Greeg, i think we could add some info in the block, like a timestamp 
at the head
Andreas
14-Jan-2010
[1430]
hm, that'll get messy soon
Steeve
14-Jan-2010
[1431]
perhaps it's better to return an structured object
Gregg
14-Jan-2010
[1432]
The ability to get just headers, number of messages, etc. is great. 
Get a little info, show the user, request more data as desired, and 
show progress for lengthy ops.
Andreas
14-Jan-2010
[1433x2]
progress for length ops still is an open problem
i could enable copy/part for downloading large messages
Gregg
14-Jan-2010
[1435x2]
Still, without a callback or notification of some kind, the caller 
has to poll against the block to check for changes.
Having the basics first is great Andreas.
Andreas
14-Jan-2010
[1437x3]
ah, i know where i got the idea from. the large file copy example 
on the "docbase" wiki
http://www.rebol.net/wiki/Port_Examples#Copy_a_large_file
ha! read/part :)
Steeve
14-Jan-2010
[1440]
Andreas, your binding in the awake function should ne done only one 
time, at construction
Andreas
14-Jan-2010
[1441]
sure. but forget that code, i'll put up something more up-to-date 
soon
Gregg
14-Jan-2010
[1442x2]
Yes, I think that should work. Then your state machine will need 
to know it's building a message, or loop internally.
All the recent scheme work makes me want to jump in and see if we 
can make a nice scheme dialect. :-)
Steeve
14-Jan-2010
[1444]
Agree
Andreas
14-Jan-2010
[1445x2]
i intend to iterate POP3 until i consider it to be a good example 
for a basic scheme implementation for an "interactive" (lock-step 
request/response) protocol
i think we can then extract a dialect or at least some helper functions 
from there
Steeve
14-Jan-2010
[1447]
pop3 is good starter, not too complicated
Gregg
14-Jan-2010
[1448]
Agreed. The simple protocols help us identify the foundation elements.
Steeve
14-Jan-2010
[1449]
we could give a try for real time collaborative work and update the 
code in a shared sheet. There some tools for that
Andreas
14-Jan-2010
[1450x3]
too little code :)
prot-pop3.r is 113 lines atm
but it's in a git repository anyway, i could share that, if someone 
wants to collab
Gregg
14-Jan-2010
[1453]
I'll leave it to you guys for now. I need to make time before I'll 
add much value. I agree with Andreas as well. Better to have him 
complete his vision on this I think.
Steeve
14-Jan-2010
[1454]
precisely it's shorten, I think that is an advantage
Andreas
14-Jan-2010
[1455]
but that means i edit all over the place, which i think is anti-usage 
for collab editors
Gregg
14-Jan-2010
[1456]
What is the @@ for in comments?
Andreas
14-Jan-2010
[1457]
those are TODOs
Gregg
14-Jan-2010
[1458]
Why not say TODO then? ;-)
Andreas
14-Jan-2010
[1459]
two characters less :)