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

World: r3wp

[Core] Discuss core issues

Geomol
24-May-2010
[16841]
Yes, parse can be used. My motivation was thoughts about switch. 
It seems, it could be improved.
Andreas
24-May-2010
[16842x4]
REBOL3 is pretty consistently case-ignorant in this regard:
>> #"a" = #"A"
== true
And the SWITCH behaviour is just consistent with that.
(R2 is more inconsistent in this regard, as #"a" = #"A" is false, 
but SWITCH behaves case-insensitively, as you described.)
PeterWood
25-May-2010
[16846]
>> #"a" == #"A" 
 
== false

Perhaps SWITCH needs a /Strictly refinement?
Gregg
25-May-2010
[16847x2]
SWITCH used to be a mezzanine, so you could easily patch it if you 
want. This is the old mezz source.

switch: func [
    [throw]
    value
    cases [block!]
    /default case
][
    either value: select cases value [do value] [
        either default [do case] [none]]
]
I use SWITCH very rarely, but I don't know about others.
Izkata
25-May-2010
[16849]
/case would be more consistent with 'find, 'parse, and 'select than 
/strictly would
Geomol
25-May-2010
[16850]
The char! datatype has many similarities to numbers. The following 
is from R3 and looks strange to me:

>> var - 32 = var
== true


What variable is equal to it's original value, even if you subtract 
32 from it?

>> var: #"a"
== #"a"
>> var - 32 = var
== true


A bit strange. I would prefer SWITCH to distinguish between #"a" 
and #"A".
Rebolek
25-May-2010
[16851]
>> (var - 32) = var
== false
Geomol
25-May-2010
[16852x2]
This can be even more complicated when talking UTF encoding. Hm, 
who knows how R3 do this...
Rebolek, do it in R3.
Rebolek
25-May-2010
[16854x4]
I'm not sure what exactly [var - 32 = var
Ah, ok, this was R2.
Yes, in R3, it's true.
I agree with you, this is strange.
Steeve
25-May-2010
[16858]
>> #"a" - 32
== #"A"

>> #"a" - 32 == #"a"
== false

>> #"a" - 32 = #"a"
== true

it's ok to my mind
PeterWood
25-May-2010
[16859]
Izkata: /strict could also striclty equal to numbers to give an alternative 
to :

>> number: 1

== 1
>> switch number [1 [print 1] 1.0 [print 1.0]]

1

>> number: 1.0

== 1.0

>> switch number [1 [print 1] 1.0 [print 1.0]]

1
Gregg
25-May-2010
[16860]
I think the var - 32 scenario is fine as well. It's all about context, 
and by making it work the other way, you're just shifting the problem, 
not really solving it. That is, something becomes easier, but something 
else becomes harder.
Geomol
26-May-2010
[16861]
Gregg, are you really sure, you mean this? As I see it, the life 
would be much easier, if "a" equals "A", but #"a" didn't equal #"A". 
As it is now, it's really problematic testing for different characters 
in a string using SWITCH. Cases where "a" and "A" should be handled 
as the same is ok, but cases where they should be different is the 
problem. If #"a" was made to not be the same as #"A", then both situations 
could be coped with easily.
PeterWood
26-May-2010
[16862]
At the moment Switch is consistent with Equal?. Surely, it would 
be better to retain that consistency and have a /strict refinement 
for switch which perfomed consistently with strict-equal? ?
Geomol
26-May-2010
[16863x2]
Peter, the equal thing is correct for R3, not R2, which we still 
get updates for now and then.
In other words, SWITCH is not consistent with EQUAL in R2, when talking 
the char! datatype.
PeterWood
26-May-2010
[16865]
You are correct, I was mistaken about the R2 behaviour.
Gregg
26-May-2010
[16866]
First, it should be consistent between R2 and R3 if at all possible. 
For SWITCH, I think the solution is to add a refinement if people 
think it's needed. If the new native SWITCH is still based on SELECT, 
adding a /CASE refinement shouldn't be hard.


For the more general case of char case-sensitivity, we have ==/strict-equal?
Maxim
26-May-2010
[16867]
I agree with Geomol here.


many people see chars as a subsitute for string, even I once saw 
it like that, but I have come to realize that they shouldn't be.

#"A" should not be equal to #"a".
amacleod
26-May-2010
[16868x3]
I'm getting an error with send that neever got before...

>> send [bebop-:-gmail-:-com] "hello"

** User Error: Server error: tcp 421 Cannot connect to SMTP server 
173.236.30.114 (173.236.30.114:25), connect error 10060
** Near: smtp-port: open [scheme: 'esmtp]
either only
I tried several different accounts but  get the same error
It seems to be working again...don't know what was going on
Maxim
26-May-2010
[16871]
you know... it IS possible that Google has outages too  ;-)
amacleod
26-May-2010
[16872x2]
I was using versizon google and another host...all the same prob...
verizon
Will
26-May-2010
[16874]
amacleod: the IP address 173.236.30.114 resolve to cx02.justhost.com 
, which may be your provider. does that correspond to your smtp server?
amacleod
26-May-2010
[16875x2]
yes...
actually it did not happen sending on gmail account as i can't (without 
Graham's fix anyway)
Will
26-May-2010
[16877x3]
did you try an authenticated connection?
trace/net on
telnet 173.236.30.114 25
answers?
Graham
26-May-2010
[16880]
that error should be with your ISP's smtp server
Terry
27-May-2010
[16881]
ie:  [a ["one"] b ["two"] c ["three"]]

Q: best way to remove b and it's block ["two"] ?
Henrik
27-May-2010
[16882]
remove/part find ie 'b 2
Terry
27-May-2010
[16883x2]
works for me, thanks
another question.. 


if i have a blk: [] and i want to add a 'word and and a block with 
a pair.. ie: [ word [1x2]] 

i typically would append the word, then append/only the pair, but 
that seems barbaric?
Sunanda
27-May-2010
[16885]
blk: copy [] append blk [word [1x2]]
amacleod
28-May-2010
[16886x2]
At least one of the problems I had with one of my email accounts 
related to port number: 


I was changing my smtp port to 2626 with "system/schemes/smtp/port-id: 
2626"

when I should have been changing my esmtp port with : system/schemes/esmtp/port-id: 
2626

Dope!

Thanks for the help all
What is the advantage of using the "/only" refinement when sending 
multiple emails?


And is there a limit to the number of addresses yo can include in 
a bulk mailing?
Maxim
28-May-2010
[16888]
afaik, the server usually applies a limit to bulk mail...  often 
~50 sometimes as low as 10 !

you will receive an error when you go past that threshold.
amacleod
28-May-2010
[16889]
What about the "to:" in the header? 

When using /only is here a way to get the email to show the single 
address of the recipiant and not say a list of all address sent to?
Maxim
28-May-2010
[16890]
I really don't know... its been a long while since i've done e-mailling 
in rebol... Graham can probably give you an answer, he's done a lot 
of email work.