World: r3wp
[Core] Discuss core issues
older newer | first last |
Oldes 20-May-2007 [8169] | yes... you can make it in R2 using index: [1 2 3] and for R3 you just replace: index: make vector! [integer! 24 [1 2 3]] |
Terry 20-May-2007 [8170x3] | Now as for compressing the dictionary.. it seems that smaller strings grow with compression? |
>> a: compress "a" == #{789C4B04000062006201000000} | |
>> a: compress "aaaa" == #{789C4B4C4C4C040003CE018504000000} >> a: compress "aaaaa" == #{789C4B4C04020005B401E605000000} | |
Oldes 20-May-2007 [8173x2] | compress is uzing zlib compression... just insetad of checksum at the tail (last 4 bytes) is used size of the source string |
the size is used to make a result buffer for decompress: >> decompress rejoin [#{789C4B4C} #{04020005B401E6} #{00000000}] ** Script Error: Not enough memory >> decompress rejoin [#{789C4B4C} #{04020005B401E6} #{FF000000}] == "aaaaa" | |
Dockimbel 20-May-2007 [8175] | Terry, your 'integer-to-3-byte-binary conversion function is dependent on platform endianness (third struct! gives you an endian-dependent result), watch out for that. |
Anton 20-May-2007 [8176] | You can blame me for that, I wrote it quickly. |
btiffin 21-May-2007 [8177] | Terminology question; I know I could probably RTFM, but sometimes Ask A Friendly Human is more fun. What is the correct terminology for the global REBOL context. I'm describing (or trying to at least) the parse dialect "copy" versus the REBOL "copy". Is there a one word term for the "no context" context? Or is the REBOL global namespace good enough (and not too confusing to new rebols)? |
Anton 22-May-2007 [8178] | Yeah, we all call it the global context. |
btiffin 22-May-2007 [8179] | Thanks Anton. |
Jerry 22-May-2007 [8180] | Is there a function which can flat a block. For example, >> FLAT [ 1 2 [ 3 4 ] 5 6 ] == [ 1 2 3 4 5 6] |
Graham 22-May-2007 [8181] | probably not what you want ... >> to-block form [ 1 2 [ 3 4 ] 5 6 ] == [1 2 3 4 5 6] |
Chris 22-May-2007 [8182] | flatten: func [block [any-block!]][ parse block [ any [block: any-block! (change/part block first block 1) :block | skip] ] head block ] |
Henrik 23-May-2007 [8183x2] | and with greater speed but less accuracy: >> load form [1 2 [3 4] 5 6] |
and now I should of course have read what Graham posted... | |
BrianH 23-May-2007 [8185] | Don't assume that the parse is slow - you may be surprised. |
Anton 23-May-2007 [8186] | Yes, and I wouldn't recommend the LOAD FORM way, it looks too brittle. |
Henrik 24-May-2007 [8187x2] | does SORT/COMPARE not work in combination with /SKIP? it seems to happily ignore /SKIP here. |
seems that using /ALL does not help. | |
Gregg 24-May-2007 [8189] | >> b: [1 2 3 4 5 5 4 3 2 1 7 6 5 4 3 3 4 5 6 7] == [1 2 3 4 5 5 4 3 2 1 7 6 5 4 3 3 4 5 6 7] >> bb: sort/compare/skip copy b 2 5 == [1 2 3 4 5 5 4 3 2 1 3 4 5 6 7 7 6 5 4 3] >> bb: sort/compare/skip copy b 4 5 == [5 4 3 2 1 1 2 3 4 5 7 6 5 4 3 3 4 5 6 7] |
Henrik 25-May-2007 [8190] | what if the record size is 2, consists of a binary and an object and you want to sort on a value in the object? |
Sunanda 25-May-2007 [8191] | Here's one way -- though it assumes (for simplicity) that the binary is a string of equal length in all keys: data: reduce ["z" make object! [key: 1] "y" make object! [key: 2] "z" make object! [key: 2]] sort/all/skip/compare data 2 func [a b][ return (join a/1 a/2/key) < (join b/1 b/2/key) ] probe data |
Henrik 25-May-2007 [8192x5] | hmm... funny, I did exactly that code, but it would never recognize the b object in the compare function. will have to try again... |
oh wait a minute. I see now :-) | |
I guess I don't after all. I still can't get it to recognize 'b. If I try to probe 'b inside the function, sorting just stops. probing 'a works fine. | |
and the block checks out fine. it is properly arranged. | |
found the bug. (and I need more coffee) | |
Sunanda 25-May-2007 [8197] | There were problems with using all three refinements [ /all/compare/skip ] together in earlier versions of REBOL. I believe they are fixed now. |
Henrik 25-May-2007 [8198] | I think the compare feature is just a bit underdocumented. |
Rebolek 25-May-2007 [8199x2] | Script error: REPLACE has no refinement called ONLY |
I can use CHANGE/ONLY FIND ... What do you think, skould I RAMBO it as a wish? | |
Henrik 25-May-2007 [8201] | rebolek, yeah, I think it would make sense to have that. |
Rebolek 25-May-2007 [8202] | It's mezanine, so I'll try to figure out some fix and post it. |
Henrik 25-May-2007 [8203] | cool |
Rebolek 25-May-2007 [8204x3] | Hm, was easier than I thought :)) |
Posted | |
>> regexp "[hello-:-world-:-re]" "[a-z0-9._%-]+@[a-z0-9.-]+\.[a-z]{2,4}" == true ;)) | |
BrianH 25-May-2007 [8207] | Anyone else want a regex compiler that generates parse rules? Semantically, regex is a (very) limited subset of parse so it shouldn't bee too hard. |
Rebolek 25-May-2007 [8208x3] | I working on it right now. the above example is copied from console |
some things are not implemented yet and there some small problems but I hope I can solve them | |
I was looking for something, but nothing seems to exist. So I started mine, I'll release some first version soon. | |
Gregg 25-May-2007 [8211] | http://www.rebol.org/cgi-bin/cgiwrap/rebol/view-script.r?script=like.r |
BrianH 25-May-2007 [8212x3] | The reason that regex compilers for REBOL are rare is that parse is more powerful than regex, and most people who start trying to implement regex usually learn enough about parse during the course of doing so that they switch to using parse instead :) |
Still, if you want help, a tester or a second opinion, post your code on the Parse group and we will optimize it for you. | |
It's funny, there's no better optimizer than the members of this world trying to show off and one-up each other :) | |
Gregg 25-May-2007 [8215] | I love this community. One of my favorite things is the ML threads that optimize code and bring out different perspectives on design. |
Terry 1-Jun-2007 [8216] | Hey... what's the code to prevent the security from popping up in windows? added -s to a shortcut, but not working? |
Gabriele 1-Jun-2007 [8217] | -s should work... |
Maxim 1-Jun-2007 [8218] | in 98% of cases I agree with what Brian just said about Parse being more powerfull than Regexp. but in those 2% regexp is SO much more powerfull, that it still has its place. now some of you will ask me to say when or why, (I know how we as rebolers think and like to challenge each other ;-) but I cannot give an exact example, but having had to implement a few complex systems in both, I remember a few times in parse when I'd remember how a single char would replace 2-3 lines of parse "tricks". |
older newer | first last |