World: r3wp
[!REBOL3-OLD1]
older newer | first last |
[unknown: 5] 21-Jan-2009 [9804] | So it is essential like read/lines but instead it reads blocks. |
Henrik 21-Jan-2009 [9805x2] | mchean, it's only available in the latest alpha. |
>> source chat chat: make function! [[ "Open REBOL DevBase forum/BBS." /local err ][ print "Fetching chat..." if error? err: try [do http://www.rebol.com/r3/chat.rnone] [ either err/id = 'protocol [print "Cannot load chat from web."] [do err] ] exit ]] | |
Steeve 21-Jan-2009 [9807] | Henrik, there is no need to automaticly compress the data. If you want so, just append compressed data in the block. >> append v-block compress data |
Henrik 21-Jan-2009 [9808] | Steeve, that takes up double size on disk, doesn't it? |
Steeve 21-Jan-2009 [9809] | don't see your point Henrik, double size compared with what ? |
Henrik 21-Jan-2009 [9810] | compared to an actual binary. you said, that data was stored as plain REBOL data in the file. |
Steeve 21-Jan-2009 [9811] | but if you want to store binary data, just add binary data, i do not any conversion, store your data int he format you want |
Mchean 21-Jan-2009 [9812] | thanks |
Steeve 21-Jan-2009 [9813] | hum, i see your point now henrik, yes even binary data are stored as rebol values, so that there take much more space. |
Henrik 21-Jan-2009 [9814] | yes, that's what I meant. :-) |
Steeve 21-Jan-2009 [9815] | perhaps i will add on option in the scheme to store data as pure binaries |
Henrik 21-Jan-2009 [9816] | it might be useful in cases where you want to store images and such. |
Steeve 21-Jan-2009 [9817] | right |
BrianH 21-Jan-2009 [9818x2] | Steeve, aside from the REBOL-syntax-storage aspect, your virtual block scheme sounnds like the RIF (REBOL Indexed Files) proposal that was at one point intended for inclusion in R3 (and may still be). |
However, RIF was intended to store its data in Rebin format (binary encoding of REBOL values). | |
Henrik 21-Jan-2009 [9820x2] | BrianH, I'm thinking that Steeve has made his design good enough to allow doing that as an option. :-) |
thinking = hoping | |
[unknown: 5] 21-Jan-2009 [9822x4] | So can specify how many blocks of data you want to read at a time? Like say I want to read 10 blocks and stop and then read 10 more where that one left off? |
Sorry I got distracted - I had to use some mighty puddy on a chair. | |
I have a function called get-block which I use to handle block reading currently. | |
It can be used on binary data as well as ascii data and will carve out the blocks of the buffer. | |
Henrik 21-Jan-2009 [9826] | It seems rebdev mobile is down right now, so I made a screenshot of Steeve's example post: http://rebol.hmkdesign.dk/files/r3/gui/182.png |
[unknown: 5] 21-Jan-2009 [9827x3] | >> a: "this is a test [now a block] garbage [another block with a block in it []][and another] garbage.. == {this is a test [now a block] garbage [another block with a block in it []][and another] garbage..} >> get-block a == [now a block] >> get-block a == [another block with a block in it []] >> get-block a == [and another] |
My get-block function just advanced automatically through the string. | |
anyone know which sort algorithm that R3 uses for it's sort function? | |
Steeve 21-Jan-2009 [9830] | Paul, yes i do by using the standard copy/part function. >> copy/part v-block 10 == [ first-value second-one etc...] copy is auto advancing in the block, so that if you do several copy/part at once , you will get several sub blocks of values. |
[unknown: 5] 21-Jan-2009 [9831] | So 10 would equal ten blocks read? |
Steeve 21-Jan-2009 [9832] | yes |
[unknown: 5] 21-Jan-2009 [9833] | Can it handle newlines in the block contents? |
Steeve 21-Jan-2009 [9834x2] | it works in reverse order either. >> copy/part tail vblock -10 get the last 10 values of the block |
Yes Paul, it does | |
[unknown: 5] 21-Jan-2009 [9836x2] | Good, it is sounding nice Steeve. Hope to see it in R3. |
Yours sounds like what Chris wants to do. | |
Steeve 21-Jan-2009 [9838] | even it it's not in core R3, it will be downloadable. |
[unknown: 5] 21-Jan-2009 [9839] | Nice Steeve. |
Steeve 21-Jan-2009 [9840] | i will release the first version in some days or hours, i need to write more documentation |
[unknown: 5] 21-Jan-2009 [9841] | Please post in ALTME as well. I would like to check it out. |
Pekr 21-Jan-2009 [9842] | rebdev private msging fixed .. |
[unknown: 5] 21-Jan-2009 [9843] | Will R3 introduce function overloading? |
BrianH 21-Jan-2009 [9844] | Nope, functions are still values. |
[unknown: 5] 21-Jan-2009 [9845] | ok.. |
BrianH 21-Jan-2009 [9846] | Which is incompatible semantically with overloaded functions. You can only overload functions in languages where functions are declared, not where they are constructed and assigned. |
[unknown: 5] 21-Jan-2009 [9847x3] | Correct, how about default parameter values when no arguments are passed and a function is invoked? That would be a nice feature to have. |
We can do this now in a more complicated manner. | |
I guess that could be related to the declaration issue also though. | |
BrianH 21-Jan-2009 [9850x2] | No, that's feasible in theory, but only for arguments that are optional in the REBOL style, using refinements (or any-type! for the last arguments) - REBOL's evaluation model depends on knowing the number of arguments. In practice the current method may be more efficient - we can see. That could be handled by a function construction function, i.e. FUNC, HAS or DOES. |
Declaration is not the issue here, it is the lack of parentheses. | |
[unknown: 5] 21-Jan-2009 [9852] | We can currently do default values in R2. |
BrianH 21-Jan-2009 [9853] | Yup, likely using the same function construction functions as R3 if you like. Unlike FUNCT and FUNCTOR, that problem doesn't sound like it would require anything new to make things easier. |
older newer | first last |