World: r3wp
[!REBOL3-OLD1]
older newer | first last |
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. |
[unknown: 5] 21-Jan-2009 [9854x3] | I can already do something like this: fnc: func [a [unset! string!]][either value? 'a [a][a: "I got value"]] |
but it would nice to be able to do something like this: fnc: func[a [string!] /default $10 ][print a] fnc >> $10 | |
where anything after /default is a default value for the respective parameter. | |
BrianH 21-Jan-2009 [9857] | Note that your parameter was the last in the list, the second condition mentioned above. That would only work if the calling expression was the last in its block because of REBOL's evaluation rules. |
[unknown: 5] 21-Jan-2009 [9858] | Which is even more reason why the second example would be preferred. |
BrianH 21-Jan-2009 [9859] | The evaluation rules of REBOL can't change without requiring parentheses or something around function arguments. |
[unknown: 5] 21-Jan-2009 [9860] | I didn't know how deep changes were being made with respect to R3. Maybe a wish for R4. |
BrianH 21-Jan-2009 [9861] | Default values for parameters that are not the last parameter would need to be made optional using refinements. You *really* can't change this, not even in R4. |
[unknown: 5] 21-Jan-2009 [9862] | Seems odd to me. What language is REBOL written in? |
BrianH 21-Jan-2009 [9863] | C and REBOL, with some C++ in linked libraries (AGG). |
older newer | first last |