AltME: Ann-Reply

Messages

Maxim
in fact, I`ve got it in the system tray right now  ;-)

Reichart
Cool. :)
sqlab
@SWhite, you can use parse instead of many copy/part at .... when dealing with fixed length data
as in
parse/all "abcdefghijklmn" [copy a to 2 copy b to 5 copy c 3 skip  copy d to end ]  
>> probe reduce [a b c d]                                                            
["a" "bcd" "efg" "hijklmn"]
DideC
@SWhite: nice analyse and documentation.
But it does not show well the power of rebol syntax IMO.
ie: the SPACEFILL function is quite long in code,  slow and eat memory for what it does.
This one does the same thing :
    fillcut: func [txt len] [head insert/dup tail copy/part txt len " " max 0 len - length? txt]
It's not as readable for beginners, but is a nice example of oneliner.
Oups the right function use a char space, not string :
    fillcut: func [txt len] [head insert/dup tail copy/part txt len #" " max 0 len - length? txt]
Here is a function to compare time and memory usage of code execution :
    tt: func [code num /local d] [recycle  stats/evals/clear  d: now/time/precise  loop num :code  print ["time:" now/time/precise - d "memory:" stats "evals:" stats/evals]]
And the test results of both functions :
>> tt [SPACEFILL "abcedfgh" 5] 100000
time: 0:00:00.144 memory: 8972886 evals: 2500014 800007 400001
>> tt [fillcut "abcedfgh" 5] 100000
time: 0:00:00.114 memory: 5772726 evals: 1500014 800007 200001
DideC
There is a 0.02 seconde due to console. This show the real time (the first execution is slower) :
>> loop 4 [tt [SPACEFILL "abcedfgh" 5] 100000]
time: 0:00:00.169 memory: 8974518 evals: 2500014 800007 400001
time: 0:00:00.125 memory: 8974486 evals: 2500014 800007 400001
time: 0:00:00.126 memory: 8974486 evals: 2500014 800007 400001
time: 0:00:00.127 memory: 8974486 evals: 2500014 800007 400001
>> loop 4 [tt [fillcut "abcedfgh" 5] 100000]
time: 0:00:00.11 memory: 5774454 evals: 1500014 800007 200001
time: 0:00:00.091 memory: 5774422 evals: 1500014 800007 200001
time: 0:00:00.091 memory: 5774422 evals: 1500014 800007 200001
time: 0:00:00.091 memory: 5774422 evals: 1500014 800007 200001
DideC
Notice what empty code test give
>> loop 4 [tt [] 100000]
time: 0:00:00.001 memory: 5374550 evals: 14 7 100001
time: 0:00:00.001 memory: 5374406 evals: 14 7 100001
time: 0:00:00.001 memory: 5374406 evals: 14 7 100001
time: 0:00:00.001 memory: 5374406 evals: 14 7 100001
So memory used by 'fillcut is: 5774422 - 5374406 =  400 016,
but 'SPACEFILL use: 8974486 - 5374406 = 3 600 080 : 9 times more memory due to temporary values !!!
SWhite
Thank you.  As a perpetual beginner, I value feedback.  Your comment, "...not as readable for beginners...," exactly addresses my own difficulties.  When I first encountered REBOL, try as I might, I just could not understand it.  But I knew there was genius in there somwhere just because of who wrote REBOL, so I used it anyway in my own plodding manner.  Now, I suppose, there is a danger that I will pass my "plodding manner" on to others through the internet.  So I will examine your examples, and my own coding, and see what I can do to mitigate any damage I might be causing, before I start on the next "helpful" document I have in mind about data storage (if Nick hasn't covered it already).

Arnold
Great news John! I will for sure take a look at this release of World!

Geomol
Cool! :)
Gregg
Congratulations John!
Geomol
Thank you!

Bo
Doc: Awesome! I'm going to start reading about it now!

Reichart
Is there a page that speaks to what platforms / and OS version are supported?
(and congrats!)
PeterWood
This is missing OS but gives a good overview of what platforms will be supported - http://www.red-lang.org/p/roadmap.html
... and are already supported.
This page lists the OS that are currently supported - https://github.com/red/red - see under Cross-compilation targets.
Gregg
Juge congratulations Doc and Team Red!

Last message posted 108 weeks ago.