World: r3wp
[!REBOL3 Schemes] Implementors guide
older newer | first last |
Graham 21-Jan-2010 [1746] | of the series |
Steeve 21-Jan-2010 [1747] | Then, use find/match But using Parse is better to my mind (less memory overhead) >> parse msg [generator " OK" to end] |
Graham 21-Jan-2010 [1748x2] | True ... but still there's a bug in find/part |
Isn't there some new way to return true from parse without the "to end" now? | |
Steeve 21-Jan-2010 [1750] | (break/return true) but i don't know if it's faster |
Graham 21-Jan-2010 [1751] | Yeah .. that's what I was thinking of |
Steeve 21-Jan-2010 [1752x2] | but you must have a loop |
>> loop 1 [parse msg [generator " OK" (break/return true)]] | |
Graham 21-Jan-2010 [1754] | compose [ (generator) ... |
Steeve 21-Jan-2010 [1755] | with a sub-rule... >> match: [(break/return true)] >> loop 1 [parse msg [generator " OK" match]] |
Graham 21-Jan-2010 [1756] | why the parens in your sub rule? |
Steeve 21-Jan-2010 [1757] | because break is not a part of the parse dialect. It's a regular function |
Graham 21-Jan-2010 [1758x2] | ahh... not thinking |
just looking ... break does appear in the new parse dialect | |
Steeve 21-Jan-2010 [1760] | but not break/return |
BrianH 21-Jan-2010 [1761] | And in the R2 parse dialect, but the meaning in both cases is different from the function. |
Graham 21-Jan-2010 [1762x2] | brianh, what's causing the find/part error? |
parse documentation is very skimpy .. .need lots of new examples | |
BrianH 21-Jan-2010 [1764] | There are more than a few FIND bugs. Check CureCode to see if yours is covered already. |
Maxim 21-Jan-2010 [1765] | graham, can't you just use the return keyword in R3 parse? |
BrianH 21-Jan-2010 [1766] | PARSE documentation is actually pretty extensive, but not yet organized. There was a lot of thorough research conducted during the parse project and revamp. It just hasn';t been put into the docs yet. |
Graham 21-Jan-2010 [1767x2] | it's not there in curecode |
but it's more subtle ... as it works outside the function | |
Steeve 21-Jan-2010 [1769] | (reworking on ftp scheme currently ) |
Graham 21-Jan-2010 [1770] | going to implement ftp site to site transfer ? :) |
Steeve 21-Jan-2010 [1771] | yup, i need it for PC to AS400 file's exchanges |
Graham 21-Jan-2010 [1772] | So, I have some bugs in my scheme? |
Steeve 21-Jan-2010 [1773x2] | and remote commands too |
well, missing lot of commands :) | |
Graham 21-Jan-2010 [1775x4] | oh yeah ...minimal functionality ... for someone else to finish ;) |
cwd: func [ mbox [port!] dir [string!]][ if in mbox/scheme/actor 'cwd [ mbox/scheme/actor/cwd dir ] ] | |
which is what I have in my imap scheme ... could use similar for ftp | |
actor: [ cwd: funct [ dir [string!]][ write mbox compose [ SELECT (dir) ] read mbox ] ] | |
Steeve 21-Jan-2010 [1779] | i'm doing differently currently, i only use WRITE to pass block of commands to parse |
Graham 21-Jan-2010 [1780] | so the user still has low level access to the scheme or not? |
Steeve 21-Jan-2010 [1781] | don't know what u mean exactly, so i would say... maybe |
Graham 21-Jan-2010 [1782] | the user can still use the port in what carl calls mixed mode ... |
Steeve 21-Jan-2010 [1783] | OPEN, WRITE and CLOSE will be the only one usefull actors in my scheme |
Graham 21-Jan-2010 [1784x2] | I think mine allows file upload resume by sening a APPE command with the rest of the file |
but rather than handling it directly ... you can just write the command to the port | |
Steeve 21-Jan-2010 [1786] | a session will be something like: >> session: open ftp://ftp.site.com >> write session [ USER "toto" PASS "****" PASV BINARY CD /dir-temp GET %thif-file ] >> close session |
Graham 21-Jan-2010 [1787] | ok, looking forward to seeing it ... |
Steeve 21-Jan-2010 [1788x2] | and i will use a dialect to construct the state diagrams |
for example, the state diagram used to open a ftp session looks like this currently. USER << ( (1 2) error (4 5) fail 3 >> PASS << ( 2 success 1 error (4 5) fail 3 >> ACCT << ( 2 success (1 3) error 4 5 fail ) ) ) it's a dialect | |
Graham 21-Jan-2010 [1790] | Nice ... I'm looking for a dialected flow control GUI tool too :) |
Steeve 21-Jan-2010 [1791] | This one, to rename a file: RNFR ;** rename a file. << ( (1 2) error (4 5) fail 3 ( >> RTNO << ( 2 success (1 3) error (4 5) fail ) ) ) |
Graham 24-Jan-2010 [1792x3] | I'm wondering how to interface with Amazon's simple DB. |
Both Maarten and I passed the secret and access keys as parameters to the various functions, but I think I'd rather have a system/user object to store them and use them from there. | |
So, can we have an extensible system/user object that we can store user related data for use in schemes etc ? | |
BrianH 24-Jan-2010 [1795] | system/contexts/user is user-specific, and schemes can store their data in their modules if they like. |
older newer | first last |