World: r3wp
[Core] Discuss core issues
older newer | first last |
Janko 8-Feb-2009 [12317x2] | (my answer was to Paul) |
Will: what does word-block do? | |
Will 8-Feb-2009 [12319] | launch rebol, then word-block/init, define some words, then word-block/dif should get you your defined word! |
[unknown: 5] 8-Feb-2009 [12320] | Janko, that is up to each on how they desire to code. |
Janko 8-Feb-2009 [12321x2] | ok, so I get list of words .. but can I export (write to file) sources/definitions of functions ? >> source somefunc<< prints it but I would need to get a string |
aha Will I will try | |
Will 8-Feb-2009 [12323] | sorry, word-block/list not /dif .. |
Janko 8-Feb-2009 [12324x8] | yes, I agree... I am asking because if this could be done then you could use rebol in a same way as smalltalk and factor are which are "image based" languages ... this brings some interesting usages.. |
for example a server that can replicate itself... or save it's state and then run from exactly same state, or in games, editing them without restarting... editing "live image" which should be possible because you can redefine words in rebol, but then you need to save whole current state. | |
(that was the reason why I wanted to embed smalltalk into game engine, but I would much rather do this with rebol) | |
aha!!! | |
print join mold first :bbbb mold second :bbbb ; bbbb is some func | |
Will, your word works great :) | |
I will experiment a little with this when I find time, thanks all | |
hm.. what am I speaking crazy stuff, or where did you all go? :) | |
[unknown: 5] 8-Feb-2009 [12332] | Janko, I had left to shower and eat lunch. Sorry, but you need to check the status on the left. Often times we just disappear. That is kinda what is nice about Altme in a sense is that you know when someone is available or here now by the status. |
Janko 8-Feb-2009 [12333] | :) I was joking .. no problem at all |
Gabriele 9-Feb-2009 [12334] | Janko, the short answer is that you can... except for bindings. (So, in general, no, you can't just save the current state of an app, unless the app is designed for that from the start.) |
Janko 9-Feb-2009 [12335] | can I ask what does it mean "except for bindings" ? you mean like native code libs (bindings) .. or binding in rebol sense which I heard about, but don't fully understand what it means |
Henrik 9-Feb-2009 [12336] | He means rebol bindings. This is a good read on bindings: http://www.fm.tul.cz/~ladislav/rebol/contexts.html |
Will 9-Feb-2009 [12337] | where is Ladislav? buuuu 8( |
Janko 9-Feb-2009 [12338] | Henrik, thanks I will read it |
Henrik 10-Feb-2009 [12339] | Was CHMOD ever implemented for the FTP scheme in REBOL 2? |
Anton 10-Feb-2009 [12340x2] | I don't think so, no. |
That is, it was never built in. Somebody might've hacked it in for their particular situation. | |
Henrik 10-Feb-2009 [12342] | ok, thanks |
Janko 12-Feb-2009 [12343x4] | This is continued from the talk we had with BrianH in the R3 group.. but it's R2 code so (about do/next) |
paralel doer: | |
para-do: func [ codes- /local codes cnt values code- value- all-done ] [ codes: copy codes- cnt: length? codes values: make block! cnt loop cnt [ append values none ] until [ all-done: true repeat idx cnt [ code: pick codes idx if not empty? code [ set/any [ value- code- ] do/next code codes/:idx: code- values/:idx: value- all-done: false print mold value- ] ] all-done ] values ] | |
usage example: >> codes: [ [ a: 12 + 23 b: a + 100 c: b * a ] [ t: join "aaa" join "bbb" "ccc" find t "b" ] ] >> para-do codes 35 aaabbbccc 135 bbbccc 4725 == [4725 "bbbccc"] (it collects results of all blocks when done and returns them) | |
BrianH 12-Feb-2009 [12347] | I wonder if we can do MAP-REDUCE in REBOL :) |
Janko 12-Feb-2009 [12348x4] | (it throws error on expressions that retun unset like print .. because value- get's undef, but it can probably be made to work) |
I think it should be perfectly possible | |
also.. something para-do could be made so that it would send code blocks to multiple rebol processes via tcp or pipes maybe and collect results back | |
it can do 1000 blocks with 5 expressions in 0.03s on my (little slower) comp , 10.000 in 0.25s , 100.000 in 3.75s ... so it seems stepping the blocks is not horribly slow, and I am sure my func could be made better | |
Steeve 12-Feb-2009 [12352] | clearly, it could be faster but i'm not sure of the interest of such thing. If i want a small granularity in a process, i build tiny functions and push them in a to-do stack |
Janko 12-Feb-2009 [12353] | I am also not yet sure how/if this could be usefull :), but as I said it's very impressive that you can do that (I have to go to sleep now) |
Tomc 13-Feb-2009 [12354x2] | I want to partition a block in place ,that is wohout copy.. e.g. blk: [ red green blue plum apple orange ] partition blk 3 >> [ [red green blue] [ plum apple orange ] ] |
without | |
BrianH 13-Feb-2009 [12356x2] | while [not empty? blk] [ blk: change/part blk copy/part blk span ] |
Put that in a function. | |
Tomc 13-Feb-2009 [12358x2] | thanks I have that |
but I am interested in manageing without copy | |
BrianH 13-Feb-2009 [12360] | Sorry, change/part -> change/part/only |
Tomc 13-Feb-2009 [12361] | if it is possible |
Steeve 13-Feb-2009 [12362] | ouch Brian, one second more and it was my reply :) |
BrianH 13-Feb-2009 [12363] | You have to copy - you are turning one series into three (in your example). |
Steeve 13-Feb-2009 [12364] | missing: span span |
BrianH 13-Feb-2009 [12365] | Right :) |
Steeve 13-Feb-2009 [12366] | unless [empty? blk: change/part blk copy/part blk span span] (unless is a litlle faster than while) |
older newer | first last |