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

World: r3wp

[!REBOL3]

Andreas
23-Oct-2010
[5704x3]
Carl, a minor glitch in the A109 hostkit, which prevents it from 
compiling with AGG: in reb-lib.h the #ifdef __cplusplus definition 
of RXIEXT is borked.
Should be
#define RXIEXT extern "C" __declspec(dllexport)
instead of
#define extern "C" RXIEXT __declspec(dllexport)
(reb-lib.h, line 68).
Other than that, the hostkit works fine (and hostkit-built binarries 
pass the same number of tests as the RT binaries).
Sunanda
25-Oct-2010
[5707x2]
Is this a bug or an expected/justifiable result:
  1x.00000000000000000000000000000000000001
 == 1x9.999999e-39
I thint it may be a specific case of this -- unexpected by me, anyway:
    (second 1x.1) = 0.1
    == false
BrianH
25-Oct-2010
[5709]
Ah yes, floating point not being able to represent 0.1 exactly. But 
with the default digits that should work.
Ladislav
26-Oct-2010
[5710]
The (second 1x.1) <> 0.1 result is caused by:


1) the fact, that binary floating point cannot exactly represent 
1 / 10

2) the fact, that 64-bit IEEE754 (REBOL decimal!) is more accurate 
than 32-bit IEEE754 (REBOL pair coordinate)

Thus, the result is both justifiable, as well as expected.
Sunanda
26-Oct-2010
[5711]
Thanks, Ladislav.

There are several anomalies, which at least could be noted in the 
documentation under the pair! data type.


Another [anomaly]/[undocumented change from R2 behaviour] is when 
a pair overflows:

....R2 throws an error, or replacee the large number with 0 (itself 
an odd behaviour).

....R3 can generate +/-infinity. As far as I know this is the only 
way in R3 to get a -/-INF; and the value is not usably serialisable:
    xx: as-pair -1e44 1e44
    == -1.#INFx1.#INF
    type? first xx
    == decimal!
    load mold first xx
    ** Syntax error: invalid "integer" -- "-1.#INF"
Ladislav
26-Oct-2010
[5712x2]
Thanks, Ladislav.
There are several anomalies, which at least could 
be noted in the documentation under the pair! data type.

Another 
[anomaly]/[undocumented change from R2 behaviour] is when a pair 
overflows:


....or replacee the large number with 0" - which expression do you 
mean?
The infinity may be a problem, but, it looks like a low priority 
issue to me.
Sunanda
26-Oct-2010
[5714]
I mean sometimes one, sometimes the other:
R2:
>> as-pair 1 1e308
== 1x0
as-pair 1 1e309
** Math Error: Math or number overflow
Ladislav
26-Oct-2010
[5715x4]
Thanks, did not notice that
aha, but this behaviour does not have anything in common with pairs, 
in fact
The 1e309 value causes the overflow when loaded
Otherwise, the R2 pairs never overflow, instead they "wrap around"
Sunanda
26-Oct-2010
[5719x2]
Thanks for the analysis. I kinda know the reason, but the documentation 
should make the limits clear ro those who do not know (or have not 
thought through the implcations of) the internal representations.
INFs are a low priority.....But they are also an interesting REBOL 
phenomena...Unserialisable values that do not always equal other 
same-sized INFs :)

    xx: array/initial 100 as-pair 1e44  -1e44
    length? unique xx

    == 100   ;; 100 separate infinities ... Cantor would be proud!

    (first xx/1) = (first xx/1)
    == true
    (first xx/1) = (first xx/2)

    == true           ;; or perhaps its just UNIQUE having a bad day

    xx/1 = xx/2     ;; or perhaps not
    == false
Oldes
26-Oct-2010
[5721]
To have infinity values would be good, but the current behaviour 
is a bug of course. The positive/negative infinity must be loadable 
as a normal number, not just in pairs.
Sunanda
26-Oct-2010
[5722]
Thanks Oldes. I've curecoded the inconsistencies I've noticed:
   http://www.curecode.org/rebol3/ticket.rsp?id=1717
Ladislav
26-Oct-2010
[5723]
Sunanda, you wrote, that INF support was good, not mentioning why. 
Can you explain, why do you want to have it?
Sunanda
26-Oct-2010
[5724]
INFs (and NANs) are part of the standards REBOL is coded to. It's 
good to match as much of the standard as possible.
Ladislav
26-Oct-2010
[5725x4]
Hmm, that reason is not relevant, as far as I can tell. Example: 
IEEE754 standards define comparisons, but REBOL uses a different 
approach.
So, REBOL is not "coded to standards", rather it uses the available 
features of the hardware.
In my opinion, the exclusion of infinities from the decimal! datatype 
was intended, exactly because REBOL was not "coded to standards". 
(I may be wrong, not being Carl, though)
In general, the usage of infinities in programming languages is not 
required by any standards, as far as I can tell. In my opinion, it 
is only "supported".
Sunanda
26-Oct-2010
[5729]
REBOL clearly uses parts of the standard -- raising errors! rather 
than returning NANs or INFs is generally a useful approach for most 
programmers.

But, given it (now) partially implements INFs, some clarity about 
what parts (and why) would be useful too.
Ladislav
26-Oct-2010
[5730]
Well, I feel it may be the other way around - when not wanting to 
write much code, it is easier to have INFs than not. The removal 
of INFs requires to take care of all the exceptions.
Cyphre
26-Oct-2010
[5731]
Pekr, Andreas, ChristianE and anyon who is interested...I published 
win console R3core version that should show correctly ut8 characters. 
IF you can try to dsiplay your native language chars just download 
it from here: http://cyphre.mysteria.cz/tests/r3-core-a107-console.zip
and let me know if it works for you.

Note that this version doesn't work well with STDIN/OUT redirection 
yet. I didn't want to waste time on this part yet until the normal 
console STDIN/OUT works well.
ChristianE
26-Oct-2010
[5732]
Cyphre, this looks like a nice acomplishment. Those aren't exactly 
letters from my native language's alphabet, but your console nicely 
prints  

>> print to string! #{e282acc2aec3a4c59fc691cea3ceaecfae}


when startet in a cmd.exe console reusing that as well as opening 
it's own console if double clicked from desktop.
Andreas
26-Oct-2010
[5733x5]
Cyphre, does it allow you to input "special" characters as well?
Yes, seems it does.
And it launches nicely from both a pre-existing console as well as 
from the explorer.
Very nice, Cyphre!
(Ah yes, console not GUI build, so that last part is for free :)
Pekr
26-Oct-2010
[5738]
ok, what about having console (not GUI) build of R3, and loading 
View extension? Could it work?
Andreas
26-Oct-2010
[5739x2]
sure, it does work already.
if you remember my console build you downloaded earlier :)
Pekr
26-Oct-2010
[5741x2]
yes ... that is why I am confused, because there was a saying, that 
under Windows, you can't have both worlds - console, and GUI app 
in one, and that e.g. even python uses two separate executables ...
Very good work. I confirm that under Vista (32 bit) it works well 
so far. Both from the icon, and from the cmd console. I don't even 
have to change fonts ...
Henrik
26-Oct-2010
[5743x2]
I'm not sure what chars to expect from the above test string, but 
it doesn't work for me.
That is, I get ?? along with a few other chars that I'm not sure 
are outside the ascii range.
Pekr
26-Oct-2010
[5745]
I get "?Ra(with umlaut)s(with hook under it)???"
Henrik
26-Oct-2010
[5746x3]
I get a plain "?(registered trademark)(a with umlaut)s(integral sign)S??"
um... what page do people get with www.rebol.com?
ah, nevermind. seems to be a DNS issue.
Sunanda
26-Oct-2010
[5749x2]
Carl asking for comments (it's a Curecode, not the usual blog RFC, 
so might get overlooked):
   http://www.curecode.org/rebol3/ticket.rsp?id=1719&cursor=1
DNS problem:
   http://www.rebol.com/article/0493.html
Maxim
26-Oct-2010
[5751]
we can't comment its reviewed... but I would call it  diff   not 
compare.


since if they are equal it would return none, its a much better word 
than compare.
Oldes
26-Oct-2010
[5752]
you can comment, just must be logged in.
BrianH
26-Oct-2010
[5753]
Agreed, Maxim.