World: r3wp
[!REBOL3]
older newer | first last |
Ladislav 2-May-2010 [2482] | Your question should be in CureCode, in my opinion |
Pekr 2-May-2010 [2483] | BrianH/Ladislav - what do you think of Carl's opinion to add (back) to R3 struct like dtype, or function, to allow better binary to integer conversion? ( http://www.rebol.net/cgi-bin/r3blog.r?view=0314#comments ) |
Steeve 2-May-2010 [2484] | Struct! in R2 is great, especially to optimize (memory and speed) data conversions. I give my consent :) |
Pekr 2-May-2010 [2485] | Put your comment in, then :-) |
Steeve 2-May-2010 [2486] | Something like, Yeaaah !!!! do it !!!! ? |
Pekr 2-May-2010 [2487] | yes, because Carl needs some convincing sometimes, that it is worth to put the effort to get the feature in .... |
Steeve 2-May-2010 [2488] | About remove-each in R3, I dislike the new given output (numbers of values removed). What the point to discard the most powerful feature of Rebol ? - Chaining operations on series. Besides, To count how much values have been removed is trivial to do and a very rare use case. |
BrianH 2-May-2010 [2489x5] | Pekr, note that he said "I think we need to add back to R3 a struct-like datatype (or function.)". I think that the function option would be more powerful and less awkward to use. |
Steeve, the ticket for REMOVE-EACH is #931. Please make your comments there. | |
Either way you are discarding a feature. The question is whether the remove count or the chaining is more important. You and I seem to prefer the chaining, Carl seems to need the remove count (for reasons not given). Between the two, the chaning is easier to work around not having than the remove count is. | |
ChristianE, It seems like an oversight to me. We aren't doing the SQL-style "null doesn't equal anything, even other nulls" model in REBOL. | |
Pekr, sorry, you did mention "or function" :) | |
Pekr 2-May-2010 [2494x2] | :-) |
BrianH: time to push protect related bugs for implementation, no? Aren't they keeping us back from having security fixed? | |
Graham 2-May-2010 [2496] | about time ... empty? none |
Pekr 2-May-2010 [2497] | yes, done ... |
Henrik 2-May-2010 [2498] | hmm... diffferent solution from my NEUTRAL? suggestion. |
BrianH 2-May-2010 [2499] | Yes, protect bugs, but not for a98. It's actually been good to put them off: It's given us more time to really think about them. Security is a hard topic. Unfortunately, my proposed changes are flexible enough, but will need a lot of chaining to get the right pattern and recommended chaining patterns will need documenting. |
Graham 2-May-2010 [2500] | I use this something?: func [ o [any-type!]][ all [ o not empty? o ] ] |
BrianH 2-May-2010 [2501x2] | I would like to come up with a simpler solution that anyone can get, but I'm afraid this is likely not possible given the topic. |
Graham, you would need to either refine the code or the typespec. That's not right for most types, and not safe for function types. | |
Graham 2-May-2010 [2503x2] | I just use it for series |
something?: func [ o [series! none!]][ all [ o not empty? o ] ] | |
BrianH 2-May-2010 [2505] | Ah, good, then it's the typespec that would be refined :) |
Graham 2-May-2010 [2506] | bette? |
BrianH 2-May-2010 [2507x2] | (you beat me to it) Yes :) |
With the revised EMPTY? you could do this: false = empty? o | |
Graham 2-May-2010 [2509x2] | something is better than nothing |
nothing? is not something? | |
BrianH 2-May-2010 [2511] | Something is only better than nothing in some circumstances. "What's wrong?", "Something" :( |
Graham 2-May-2010 [2512x3] | for me nothing is an empty series or null |
actually I would prefer that empty? also is true on a series containing spaces only ... | |
when proceessing input | |
BrianH 2-May-2010 [2515x2] | It's good that you have that function then. I prefer to think that an empty series or a series full of spaces is something, and that none is nothing. |
However, it may not be the something you want. | |
Graham 2-May-2010 [2517x3] | Basically when doing forms you need to detect if the user has entered something |
and a series of spaces is not something | |
it might be the cat walking on the space bar | |
BrianH 2-May-2010 [2520] | Yup. Different topic than what EMPTY? covers though. |
Graham 2-May-2010 [2521] | Yeah ,... much to do about nothing |
BrianH 2-May-2010 [2522] | :) |
Pekr 2-May-2010 [2523] | Graham - then use empty? trim value to remove spaces :-) |
Graham 2-May-2010 [2524] | trim is destructive |
Pekr 2-May-2010 [2525x2] | trim copy then :-) |
I know that copy is an overhead, but forms are of finite length, so I would not worry about performance. I used empty? trim copy value idiom in the past ... | |
BrianH 2-May-2010 [2527] | Wait, your user input functions don't allocate a new string each time? Why else should you care if trim is destructive? |
Graham 2-May-2010 [2528] | more then just keyboard input ... |
BrianH 2-May-2010 [2529x2] | Sorry, nevermind then. |
Carl just posted this code, to be the new definition of EMPTY?: empty?: make :tail? [ [ {Returns TRUE if empty or NONE, or for series if index is at or beyond its tail.} series [series! gob! port! bitset! map! none!] ] ] This means two things, one minor, one major: - Minor: TAIL? won't take none, so we have an option of triggering the error if need be. - Major: *You can do that kind of thing at all*. This opens a *lot* of possibilities :) | |
Graham 2-May-2010 [2531] | make tail? interesting |
older newer | first last |