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

World: r3wp

[!REBOL3-OLD1]

BrianH
14-Jul-2009
[16258]
It's a global search-and-replace in the source rather than a simple 
assignment, but it works.
PatrickP61
14-Jul-2009
[16259]
Thanks Brian,  I had changed the APPEND2 to REPEND with the proper 
[ ] which seems to do the same thing as APPEND APPEND.
				repend blk ['label ajoin ["Field " n]]
				repend blk ['field form first+ fields]
				repend blk ['button "Change"]
Thanks!
BrianH
14-Jul-2009
[16260]
REPEND has more overhead than chained APPEND.
PatrickP61
14-Jul-2009
[16261]
Didn't know that!!!
BrianH
14-Jul-2009
[16262]
REPEND creates an intermediate block - it doesn't REDUCE in place 
like APPLY, since it is mezzanine.
PatrickP61
14-Jul-2009
[16263]
Brian, If I wanted APPEND2 to take on the value of APPEND APPEND, 
how would I do that?
I tried APPEND2:  [append append] but it is not what I wanted.
I also tried APPEND2: 'append 'append but still not right?

What is the proper way to have APPEND2 take on the APPEND APPEND 
so that when you run DEMO, it resolves correctly?
BrianH
14-Jul-2009
[16264]
Make a function named append2:

append2: func [blk val1 val2] [append/only append/only blk :val1 
:val2]
PatrickP61
14-Jul-2009
[16265]
Oh so you first need to take a look at the append function like HELP 
APPEND,

then define another function to pass along the same parms etc with 
the APPEND function in it.
so then you could also say this:

append2: func [blk val1 val2] [append append blk :val1 :val2]    
 (without the /only refinement)
I mean to say is that the above could also work,  right?
BrianH
14-Jul-2009
[16266]
Yes, but I think you want the /only refinement in this case.
PatrickP61
14-Jul-2009
[16267]
got it!   -- Thank you
BrianH
14-Jul-2009
[16268]
You don't need to replicate the type spec of the arguments since 
this is just a helper wrapper function.
Pekr
15-Jul-2009
[16269x2]
Can R3 be run in CGI mode? There seems to be -c command line switch, 
but no CGI helper functions, nor system/options/cgi path ....
IIRC Carl posted some short notice on that, but can't find it. I 
would like to start testing it, e.g. the speed of page build in comparison 
to R2.
Henrik
15-Jul-2009
[16271]
Pekr:

http://www.rebol.net/r3blogs/0182.html
Pekr
15-Jul-2009
[16272x3]
Thanks, just found it too :-)
Disappointed by outcome of latest blog. Binary conversion issues 
are still a catastrophe. We were supposed to get it right and easy, 
ok?
Writing a reaction ...
BrianH
15-Jul-2009
[16275]
Using issue! to encode binaries is a disaster. We need better conversion 
functions, not syntax tricks.
Pekr
15-Jul-2009
[16276]
then issue is completly usless type - remove it
BrianH
15-Jul-2009
[16277]
It's useful as a syntax type. We are thinking of making issue! a 
unique and immutable string as well, with supposed modifications 
generating a new issue!. It would be like words without binding or 
as many syntax limitations.
Pekr
15-Jul-2009
[16278x2]
I put my reasoning into blog post ...
hmm, Carl dismissed #1113. I wonder if 'bind is used so often, that 
he was afraid of overloading it, and introduced new mezzanine instead? 
Was that really necessary? Another one to learn ...
BrianH
15-Jul-2009
[16280]
Apparently he considers initializaton to be out-of-scope for BIND. 
Oh well, it might have been cleaner - we'll see.
Pekr
15-Jul-2009
[16281]
BrianH: is there a bug ticket for?:

>> to-issue #{0001}
== #??


... I did not understand from your blog post, if it is supposed to 
be fixed already, so the ticket exists, or not ....
BrianH
16-Jul-2009
[16282]
I mistook the problem you were proposing for one that had already 
been fixed :)
Pekr
16-Jul-2009
[16283x4]
yes, but is above a bug? Should be reported, no? :-)
ah, damned, latest time related changes brought back so called RED 
ICONS problem once again :-) We are still not reporting timezones 
correctly, ignoring summer time ....
Ah, actually quite the reverse. The problem of R2 is gone. Summer 
shift time is different date each year .... R3 works correctly, R2 
does not ...
That's cool - even a73 was broken - when you set time back to winter 
time, it reported wrong zone information. a74 works correctly.
BrianH
16-Jul-2009
[16287x3]
Pekr, the above is not a bug. Your proposed change would be the bug. 
The issue! type is a string type, not a binary type.
We don't want to encourage any tendency to see issue! as a replacement 
for binary!, especially since issue! is a collection of Unicode codepoints 
internally, not bytes. The issue! type is also poor for binary conversions, 
due to the fact that it was designed for other things. It works well 
for what it was designed for, though there are proposals to make 
it work better for that (the unique string stuff mentioned earlier).
I really don't understand your attempt to make issue! be a binary 
conversion device. It never worked as well as binary! for that, nor 
is there any reason to expect that to change. Why don't you want 
to use well-designed binary conversion functions, rather than bad 
issue! tricks? The functions could even be backported to R2.
Pekr
16-Jul-2009
[16290x2]
Because historically I am far from being alone, who finds current 
R2 working as being complete mess. How can anyone defend it? I can 
easily tell you, where it comes from. I am far from good at wrapping 
libraries, but I wrapped some functionality in the end. I can often 
see constants like:

0x0010

Which are for me equivalent to:

#0010  ; which I can get via to-hex or to-issue 16

#{0010} ; to-binary 16 = #{3136} .... and this is big WTF? Now at 
least R3 gets it correctly, although padded by full of zeros to form 
64  bit value


So, as you can see, my thought pattern came from not easy way of 
how to convert between integer and binary representation. I created 
my own crazy 2-binary function :-)


to-binary*: func [value [integer!]][load rejoin ["#{" to-string copy/part 
at to-hex value 7 2 "}"]]
So - stating above in regards to R2, my further thoughts went towards 
hex being a literal representation of binary values. But I forgot 
there is no hex! type, just an issue! type, which serves also other 
purpose. Now as to-binary 16 gives me desired value, I don't need 
to go via to-hex anymore ...
BrianH
16-Jul-2009
[16292]
Sounds good to me :)
Pekr
16-Jul-2009
[16293]
Carl's back to security for few days - file sandboxes, IP/port masking, 
evaluation limits ...  That sounds good too :-)
Janko
17-Jul-2009
[16294]
didn't you say Carl will go for two week vacation? I was expecting 
he will not be so active for a while
Pekr
17-Jul-2009
[16295]
Yes, he mentioned vacation in France, but dunno if he went there, 
or if he took his notebook with him, so he builds R3 in the evenings 
:-)
RobertS
17-Jul-2009
[16296x3]
The r3 GUI demo code at r3/demo.r offers a Halt when running the 
test but only a Quit in the Demo launcher itself - and, at least 
on Windows XP, it blows out your rebol session - whereas the Halt 
in the demo does not.  Rather annoying as a GUI demo feature ... 
 does anyone have a moment to throw another button onto the demo 
launcher?
I am trying to traverse paths that I am using at http://cl1p.net
where a path might be http://cl1p.net/wp-aule///c2/Is there 
any way that I can use this to search for any path 3 deep such as 
http://cl1p.net/wp-aule/wiki/history/c2and  http://cl1p.net/wp-aule/wiki/alternate/c2
  and   http://cl1p.net/wp-aule/smalltalk/wiki/c2???   That is, 
can we tolerate null in paths as, say , type unset!   ??   I think 
of these as incomplete nestings of blocks where there happen to be 
unbound keys  blk: [k1 [  blka ]   where :blka  might sometimes be 
[ k3 blka1 ]  and sometimes just  [blka1]
I will go back to R2 Liguid and see what these would look like as 
data vars whose values are not yet known.   That cl1p.net tolerates 
these pseudo-URLs is immensly useful ...  for example, we tolerate 
the URL fine even in R2 as  in  test: read http://cl1p.net/wp-aule///test
 and test: read http://cl1p.net/wp-aule//path42/testand http://cl1p.net/wp-aule/path21/path43/test/
BrianH
17-Jul-2009
[16299x3]
I'm having a little trouble understanding your question. File/URL 
paths have nothing to do witth the REBOL path! type - file! and url! 
are string types, so they don't have inner blocks or unset! values 
in them.
For url! values with multiple consecutive / characters in them, it 
is up to the server you are accessing to interpret them.
R3 file! paths ignore multiple / characters, though the CLEAN-PATH 
function replicates the leading multiple / fill-in-the-blanks behavior 
of R2 file! access, relative to a cuurrent directory.
RobertS
17-Jul-2009
[16302x4]
when we don't find a word in a slot, we fail;  my question is COULD 
we tolerate an unset! where a word! is now expected ... the Rebol 
path! type is just too useful to ignore here ...  and our use of 
the character '/' does have "something" to do with our natural interpretaion 
of file and url - files assume valid hierarchy depth at time of tracversal, 
a web server need not ...  at the moment we have no type corresponding 
to what follows an HTTP schema and domain other than string .... 
or am I mistaken?
perhaps if someone knows an OS where the user (without recourse to 
a custom GLOB script) can search for any file, say cfg.txt at "depth 
5 " ,e.g.,
/home////cfg.txt as finding /home/local/bin/scripts.cfg.txt  and 
/home/lib/ruby/site/rules/cfg.txt
Of course at the moment in current r3, test: read http://cl1p.net/wp-aule///test
 pitches back with binary  ;-)
BrianH
17-Jul-2009
[16306x2]
The problem is that an http server has the option to provite a directory 
of their resources, but there is no generally agreed-on machine readable 
format for providing such a directory, and the human readable format 
(a Site Map), isn't implemented on most sites. If the site you are 
interested in has a site map you can grab and parse that, or you 
can trace throuugh the links on the site and hope for the best, or 
you can make use of an external service like Google that has already 
traced through the links.
Most sites that do provide a site map only include a brief overview 
of their resources, not a comprehensive directory.