World: r3wp
[!REBOL3-OLD1]
older newer | first last |
Pekr 11-Apr-2006 [346x2] | It is similar "inconsistency/limitation" as with refinements /can-not-use-this-word .... I would prefer change to use /refinement in function body instead of word .... |
... but maybe too many scripts would break ... | |
DideC 11-Apr-2006 [348x4] | too many=probably all ;-) |
I'm not sure why but it feels "safe" to me to have two way to acces data : one that return none! and one that throw an error! (even disarmed). I used to use one or the other way in my code depending the possibility of missing values can happen or must not be. | |
So having: - pick => none! - value/word => error! is good to me. I use 'first, 'second... as shortcut for the second case. | |
But if Carl want to make them works as the first case, it's OK too. I'm like Pekr, I just want to distinguish between awaiting missing value (none) or not (error). | |
Graham 11-Apr-2006 [352] | perhaps we need a null datatype ? |
Pekr 11-Apr-2006 [353] | I thought that none is our null .... |
Henrik 11-Apr-2006 [354] | what would be the difference other than being able to tell them apart? |
Graham 11-Apr-2006 [355] | only that .. need a way to distinguish. |
Pekr 11-Apr-2006 [356] | but block is kind of storage for us ... so the trouble is, that we may obtain those nulls from two different reasons - as a result of an operation, or simply because we wrongle adress block itself ... not sure what we can do about it :-) |
Henrik 11-Apr-2006 [357] | why not take advantage of FALSE, then? |
Graham 11-Apr-2006 [358] | what do you mean? |
Henrik 11-Apr-2006 [359] | isn't this the issue of using an ordinal on a block with NONE as an element? |
Graham 11-Apr-2006 [360x3] | perhaps it should return an error. |
in all cases. | |
which is inconvenient ... | |
Henrik 11-Apr-2006 [363] | very |
Graham 11-Apr-2006 [364] | whatever result is returned by an operation on the block can also be an element in that block. |
Henrik 11-Apr-2006 [365] | yeah, what if your block contains an error! object? |
Graham 11-Apr-2006 [366] | exactly. |
Henrik 11-Apr-2006 [367x3] | but then the problem exists in FIND to for example |
which returns none on not found, but there we have the FOUND? to help us. perhaps the ordinals should use FOUND? as an indicator? | |
found? second [true none] | |
Graham 11-Apr-2006 [370] | found? is just not none |
Henrik 11-Apr-2006 [371] | I thought it was smarter than that, but maybe it could be smarter in 3.0 |
Graham 11-Apr-2006 [372] | >> source found? found?: func [ "Returns TRUE if value is not NONE." value ][ not none? :value ] |
Henrik 11-Apr-2006 [373] | oh :-) |
Pekr 11-Apr-2006 [374] | :-) |
Graham 11-Apr-2006 [375] | I use it as a shortcut for not none? |
Henrik 11-Apr-2006 [376] | well, it would also eliminate the performance advantage that ordinals apparently give |
Pekr 11-Apr-2006 [377] | then we need some flag to be settable for none? strict? none? blk/3 |
Graham 11-Apr-2006 [378x2] | Perhaps we need a way to configure the behaviour we want? |
if your data doesn't have none, then you can accept none for a range error. | |
Pekr 11-Apr-2006 [380] | I thought about it too :-) e.g. copy-by-default: true, etc. :-) |
Graham 11-Apr-2006 [381x2] | I suspect it was a mistake to allow an out of range to return none. |
Too late now though .. | |
Geomol 11-Apr-2006 [383x5] | Regarding pair and decimals; would it make sense to generalize pair further into a new vector datatype, that can be any dimension more than one? Examples: 2.4x8.0x5.5 would be a 3D vector with coords (2.4; 8.0; 5.5). Like the same idea with tuples, which can be 3 or more bytes separated by dots: 255.255.255, 255.255.255.255,... etc. |
Or should that be handles with user-defined datatypes? | |
*handled* | |
And going further, if we take the vector road, what about matrices? | |
Support for multi-dimensional vectors and matrices in rebcode might lead to something really interesting. ;-) | |
Graham 11-Apr-2006 [388x2] | I think it should be handled natively |
but it could get ugly quickly. | |
Geomol 11-Apr-2006 [390x3] | The alternative, doing vector- and matrix-math just using decimals, can easily be ever uglier. |
Imagine having a matrix! datatype: m: make matrix! 4x4 Then you could find the determinant like for example: m/determinant That would be a miracle! :-) | |
Suddently complicated math can be made very simple. | |
Henrik 11-Apr-2006 [393] | it would also be a miracle to be able to have a complex! datatype. I think electronic engineers would appreciate that |
Graham 11-Apr-2006 [394] | How to submit a suggestion to Carl? |
Pekr 11-Apr-2006 [395] | feedback or comment on blog? |
older newer | first last |