r3wp [groups: 83 posts: 189283]
  • Home
  • Script library
  • AltME Archive
  • Mailing list
  • Articles Index
  • Site search
 

World: r3wp

[!REBOL3-OLD1]

Chris
19-Oct-2009
[19093x4]
I understand that, I use that notation in some work - it's just a 
case where Rebol notation is a little less economical.
I also understand that at a point, you have to say that it's good 
enough. I use Rebol a lot and at times think, it would be great if... 
Many times I get this with apparently trivial details - but then 
perhaps I overly obsess over details.
I do wonder if as the serialized notation used an almost valid Rebol 
sequence #[] (actually, that may well have been valid at one point?) 
you could take a similar approach with regard to maps?  ![] @[]
=[] |[] - not pretty, and perhaps not as graphically immediate as 
other types, but an improvement over make map! [] perhaps?
Sunanda
19-Oct-2009
[19097]
Stackoverflow question:

     >  Is it possible to know the script/object/function that is executing 
     ?
     > If not will this be possible in R3 ?
            http://stackoverflow.com/questions/1585603


I've given an R2-ish answer.....Perhaps R3 has a better way via stack, 
debug or other guru trick
Pekr
19-Oct-2009
[19098]
hehe, found-out Carl started to address bitsets, as new doc starts 
to appear here - http://www.rebol.com/r3/docs/datatypes/bitset.html
:-)

He also restructured a bit main R3 Doc page ....
Pekr
20-Oct-2009
[19099]
2.100.91: PARSE: adds DO and ACCEPT. Adds COMPLEMENT on bitsets (first 
draft.)
Henrik
20-Oct-2009
[19100]
Pekr, could you describe find/first?
Pekr
20-Oct-2009
[19101]
Yes, although I don't know much. You can find it in Carl's own priority 
list - http://rebol.com/r3/docs/project.html, described as - "FIND 
/first with list of targets", priority high. I do remember Carl planned 
to add it because of GUI? You simply want to check on multiple targets, 
and it returns first match ...
Henrik
20-Oct-2009
[19102]
I wonder if it has something to do with templates. Can't still see 
what exactly it does.
BrianH
20-Oct-2009
[19103x2]
Same a finding a charset, except it's a set of longer values than 
single characters. Position of the first in the set found returned.
Basically the same as PARSE TO multiple (and might use the same code).
Henrik
20-Oct-2009
[19105]
oh, so this would be possible:

find/first string ["steeve" "brian"]
== "steeve came first, brian came second"
BrianH
20-Oct-2009
[19106]
Yup. And like TO multiple, the alternative is exponential time and 
tricky to program.
Henrik
20-Oct-2009
[19107]
find/first/all would be cool :-)
BrianH
20-Oct-2009
[19108]
FIND/first/all would be FIND/all.
Henrik
20-Oct-2009
[19109]
I guess it would be. Considering that, what about find/into?
BrianH
20-Oct-2009
[19110]
Use PARSE.
Henrik
20-Oct-2009
[19111x2]
or maybe it's just as fast to:

append str copy find str2 "something"
I was thinking about the /into for appending the result to a different 
series.
BrianH
20-Oct-2009
[19113]
I think that FIND/all would just return true/false, not a block full 
of positions.
Henrik
20-Oct-2009
[19114x2]
I would hate that.
If so, I understand Steeve's suggestion for using parse instead.
BrianH
20-Oct-2009
[19116]
I may misunderstand the proposal.
Henrik
20-Oct-2009
[19117]
I think he means both. He just talks about TRUE/FALSE for bitsets:


One possible justification would be if FIND/all is useful for other 
series. For example, a FIND/all on a block might return a block of 
results.
BrianH
20-Oct-2009
[19118]
FIND/all would definitely return true/false if searching bitsets.
Pekr
20-Oct-2009
[19119x2]
find/first string ["steeve" "brian"] ??? I expected more of find/first 
[str1 str2 str3] value
I thought that it would serve to do lookup on multiple different 
targets ("series" switching) ....
BrianH
20-Oct-2009
[19121]
>> find/first "foobarbaz" ["baz" "bar"]
== "barbaz"
Order doesn't matter in the values yo are searching for.
Henrik
20-Oct-2009
[19122]
That could perhaps be useful. Generally there has been some level 
of index concurrency control with multiple series missing in R2, 
like being able to do a FORALL on multiple series simultaneously. 
I can't remember if R3 solves any of that, because it's been discussed 
quite a long time ago.
BrianH
20-Oct-2009
[19123]
This is difficlt to do efficiently.
Henrik
20-Oct-2009
[19124]
I know. I just want less plumbing :-)
BrianH
20-Oct-2009
[19125]
FIND/all and FIND/first could save tons of time - exponential time.
Pekr
20-Oct-2009
[19126]
So let's be sure to push on Carl in that regard, to get those two 
implemented. I am not sure Carl will implement stuff by the project 
plan.
Henrik
20-Oct-2009
[19127]
so, FORALL is native in R3. that might make it harder to change. 
Otherwise I would suggest, since it uses a word for input series 
to use a block for multiple series:


forall [series1 series2 series3] [print [index? series1 index? series2 
index? series3]]
1 1 1
2 2 2
3 3 3
...
BrianH
20-Oct-2009
[19128]
The cases where you have to work on many series of all the same length 
are rare.
Henrik
20-Oct-2009
[19129]
I run into this curiously often, which is why I suggested it. It's 
useful where you need to get a block of  blocks "turned 90 degrees".
BrianH
20-Oct-2009
[19130]
The DB people call that column storage :)
Robert
20-Oct-2009
[19131]
Yes, and you often have to switch between row & column pocessing.
Henrik
22-Oct-2009
[19132]
A91 released with some UTF-16 support
Pekr
22-Oct-2009
[19133]
A92 you mean :-)
Henrik
22-Oct-2009
[19134]
I'm tired :-) Went too late to bed.
Graham
22-Oct-2009
[19135x2]
Went to bed too late :)
That's part of the Rebol life ...
Henrik
22-Oct-2009
[19137x2]
Reading the bitsets document, says:


Create a bitset large enough to holds bits up to 1000 and set bit 
1000:

	bits: make bitset! 1000  ; note that bit 1000 is set

But in A92:

>> make bitset! 1000
== make bitset! #{
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000
}

Is this right?
added as bug#1290
Chris
22-Oct-2009
[19139x3]
Another shot at reworking my XML loader for R3: http://bit.ly/xml_rebol
- works mostly, try:

	rss: load-xml/dom http://www.rebol.com/article/carl-rss.xml
	entries: rss/get-by-tag <item>
	foreach entry entries [probe entry/get <title>]

However trips at the first line of the first example:

	html: load-xml/dom http://w3.org

as follows:

	>> do http://www.ross-gill.com/r/r3xml.r
	Script: "XML for REBOL 3" Version: 0.2.0 Date: 22-Oct-2009
	>> html: load-xml/dom http://w3.org

 ** Access error: protocol error: "Redirect to other host - requires 
 custom handling"


	>> html: load-xml/dom http://www.w3.org
	Segmentation fault

On 2.100.90.2.5
Appears to be OK on 2.100.92.3.1
Boiled it down to: parse "^(A000)" [remove #" "]
Maxim
22-Oct-2009
[19142]
Added an idea on the bitset complement dilema, worth considering 
IMHO.

its a logical extension of the new bitset notation