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

World: r3wp

[Core] Discuss core issues

Graham
17-Nov-2006
[6267]
rebelxml.r looks as though it will do what I need.
Geomol
17-Nov-2006
[6268]
cool
Graham
17-Nov-2006
[6269]
http://www.rebol.org/cgi-bin/cgiwrap/rebol/view-script.r?script=rebelxml.r&sid=jp963yh
Pekr
18-Nov-2006
[6270]
Graham - I found Gavain's Mckenzie's scripts usefull some two years 
ago. I had also some chat with him, and it seems his work covers 
80% of usual programmer needs. You could build object with his code 
...
Sunanda
18-Nov-2006
[6271]
I've used Graham's code a lot --especially for hefting RSS files 
into REBOL format. It works well.
Gregg
18-Nov-2006
[6272]
There's a HUGE difference between dealing with simple, well formed, 
XML, and trying to implement the XML specification. A good deal of 
XML our there is just well formed; no namespaces, no attributes; 
easy to deal with. I did a loading (XML to blocks) that just makes 
a minor change to parse-xml; it reverses the content and attribute 
values--since attributes are often NONE--so you can use path notation 
on the resulting block.
Graham
18-Nov-2006
[6273x3]
rebelxml seems to be working so far .. if it doesn't do, I'll look 
at Gavin's stuff again.
>> test: make object! [ a: b: none  c: make object! [ d: none]]
>>
>> obj: make test [ c/d: "testing"]
>> h: make test [ a: 1 ]
>> probe h
make object! [
    a: 1
    b: none
    c: make object! [
        d: "testing"
    ]
]
how come when I create a new test object, it has the same c object 
?  Shouldn't that be a new object as well?
Anton
19-Nov-2006
[6276x2]
No, when using MAKE, sub-objects are shared (functions are cloned). 
This is how sharing of feel objects is implemented when faces are 
cloned.
So, if you want to be sure to clone your object and every field, 
you will have to check every field to see if it is an object and 
clone it too.
Graham
19-Nov-2006
[6278]
that's a bit painful ... guess why I never used objects much before.
Anton
19-Nov-2006
[6279]
Yes, sharing is handy but not when you don't want it. :)
Sunanda
20-Nov-2006
[6280]
Quick hack, Graham:
test: make object! [ a: b: none  c: make object! [ d: none]]
obj: make first reduce load mold test [ c/d: "testing"]
[unknown: 10]
20-Nov-2006
[6281]
x: [ 2 4 6 ]
y: [  x/1 ]

how do i get the value from y/1 ? I know this is perhpas very newbe 
but once every year I always run into this and can figure it out...

reduce y/1 gives me x/1 but I want 2.. Im missing somekind of  'eval 
y/1 ...
Henrik
20-Nov-2006
[6282]
do y/1
[unknown: 10]
20-Nov-2006
[6283]
no that gives me also x/1
Henrik
20-Nov-2006
[6284]
it works fine here?
[unknown: 10]
20-Nov-2006
[6285x3]
not here..
>> x: [ 1 2 3 ]
== [1 2 3]
>> y: [ x/1 ]
== [x/1]
>> do y/1
== x/1
>> x: [ 1 2 3 ]
== [1 2 3]
>> y: [ x/1 ]
== [x/1]
>> do y/1
== x/1
odd ...
Henrik
20-Nov-2006
[6288x2]
>> x: [2 4 6]
== [2 4 6]
>> y: [ x/1 ]
== [x/1]
>> y/1
== x/1
>> do y/1
== 2
try a fresh console, I've done it successfully on mac with view 1.3.2 
and winXP with view 2.7.0
[unknown: 10]
20-Nov-2006
[6290]
your kidding me... Could that be a problem ?
Henrik
20-Nov-2006
[6291]
well, if some variable has been changed.
Gabriele
20-Nov-2006
[6292]
do on paths was added in 1.3.1 or something i think.
Henrik
20-Nov-2006
[6293]
hmm... it could be that it evaluates as a path
[unknown: 10]
20-Nov-2006
[6294]
mmm nope no effect ->
>> x: [ 2 4 6 ]
== [2 4 6]
>> y: [ x/1 ]
== [x/1]
>> y/1
== x/1
>> do y/1
== x/1
>>
Henrik
20-Nov-2006
[6295]
rebolinth, system/version ?
[unknown: 10]
20-Nov-2006
[6296]
REBOL/Core 2.5.6.4.2
Gabriele
20-Nov-2006
[6297x2]
use 2.6 :)
otherwise you need to  do y   or  do reduce [y/1]
[unknown: 10]
20-Nov-2006
[6299x2]
Mmmmmmmm all that brain cracking the whole day .... in 2.6 its working...
Thanks...I finaly can finish my Brain-Game ;-)
Graham
21-Nov-2006
[6301x3]
Anyone built an xml to rebol object utility?
I'm talking about well formed xml, no attributes involved.
No matter, xml-to-object works fine.
Ladislav
21-Nov-2006
[6304]
Please do not run this in REBOL console. Instead I want you to tell 
me what you expect as a result:

unset 'a a/x: (a: 1x2 3)
Gabriele
21-Nov-2006
[6305]
i'd expect an error.
Henrik
21-Nov-2006
[6306x2]
I would probably expect 'a/x to be 3
depends if it checks whether the path exists or not before the () 
part is evaluated
Ladislav
21-Nov-2006
[6308x2]
...and what you expect in case:

a: 1x2 a/x: (a: [x 4] 3)
or:

    a: 1x2 a/x: (unset 'a 3)
Henrik
21-Nov-2006
[6310x2]
a = [x 3]
I'd expect path error.
Ladislav
21-Nov-2006
[6312]
generally spoken, the "post-check" checking after the () part is 
evaluated looks safer (IMO)
Gabriele
21-Nov-2006
[6313]
so, interpreter should evaluate the argument first, then the set-path?
Ladislav
21-Nov-2006
[6314]
if implemented the other way around, it is unsafe (IMO again)
Gabriele
21-Nov-2006
[6315x2]
but:
>> f: func [/x] [print "huh"]
>> f/x
huh
>> f/x:
huh