World: r3wp
[!REBOL3 Schemes] Implementors guide
older newer | first last |
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 :) |
Gregg 14-Jan-2010 [1460x2] | I'll buy you more memory. :-) |
I won't complain though. Your code is excellent. Clean and easy to read. Very nice. | |
Andreas 14-Jan-2010 [1462x3] | more time, please :) |
it's rather about quick typing, than about saving memory :) | |
(thanks) | |
Gregg 14-Jan-2010 [1465] | You must be a very slow typist for those chars to add up. ;-) |
Andreas 14-Jan-2010 [1466] | has what i consider now to be a really stupid overloading of READ, though |
Gregg 14-Jan-2010 [1467x3] | There are definitely time in REBOL where things get overloaded and the context is hard for humans to deal with. |
Schemes are one of the areas where I think you need to internalize the model of port, sub-port, actors and events to really "get it". | |
Then you can write a scheme. :-) | |
Steeve 14-Jan-2010 [1470] | Andreas, on linux what do you get for this ? >>? :system/ports/system/awake |
Andreas 14-Jan-2010 [1471] | same as in win32 |
older newer | first last |