Open Oldes opened 4 years ago
Can I ask what you use vectors for in Rebol? Absolutely not that I think they aren't usefull, but I haven't thought of using them so far with Rebol and am just interested?
Does r3 have special block types like #[ ] ?
The solution of just having a function like a "vector" function like vector 'ui32 [ 1 2 3 ]
is not OK because you want to create them directly from loader, not a block that is then loaded into vector at runtime?
At this moment I'm using vectors for sound processing and before I used them in graphics too.
#[]
is construction syntax... usually used with save/all
and mold/all
to save data in serialized format without losing index.
>> mold next "123"
== {"23"}
>> mold/all next "123"
== {#[string! "123" 2]}
I know, that it is just a cosmetic thing, but why not to have it, when it was so cheap to add. My goal is to do 3D from Rebol one day, and I think, that code:
cam-Position: #[f32! [4.0 3.0 3.0]] ;Camera is at (4,3,3), in World Space
cam-Target: #[f32! [0.0 0.0 0.0]] ;and looks at the origin
cam-Head: #[f32! [0.0 1.0 0.0]] ;Head is up
looks better than:
cam-Position: make vector! [decimal! 32 [4.0 3.0 3.0]] ;Camera is at (4,3,3), in World Space
cam-Target: make vector! [decimal! 32 [0.0 0.0 0.0]] ;and looks at the origin
cam-Head: make vector! [decimal! 32 [0.0 1.0 0.0]] ;Head is up
Of course I can use helper functions.
As we don't have any syntax for vector and its variants, I think it would be nice to enhance construction syntax a little bit, to support short vector variant creation.
For example:
Supported numeric types could be: