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

World: r3wp

[!REBOL3]

AdrianS
10-Sep-2010
[4869]
this makes sense because of the change to using command! in the dialect, 
I guess
Robert
11-Sep-2010
[4870]
Ah, you mean the R3 chat source code. I thought you need the R3 source 
code.
Graham
11-Sep-2010
[4871]
Adrian, the client source is readily available .. just not the server 
source
Maxim
13-Sep-2010
[4872x5]
converting code to R3 isn't a piece of cake!!!  I mean real-world 
pieces of mature and optimized/tuned code... there are gotchas just 
about everywhere.
but I've now got slim working in R3  ;-)   am now working on converting 
liquid and other libs.
I'll eventually redesign slim so it uses modules though.
shoudn't resolve have a refinement called /bind  making it easier 
to rebind data to target context in a single pass?
is there a way to tell R3 to automatically show stack information 
when errors occur (and aren't trapped)?


python allows (on by default IIRC) this and its a MUCH more usefull 
error report.

for the same reason as for Rebol... many errors don't occur in user 
code, but in mezzanines, called by user code, sometimes several deep.


knowing why and where an error occurs is usually as usefull as what 
is the error  (and often, even more).
Pekr
13-Sep-2010
[4877]
stack
Maxim
13-Sep-2010
[4878]
yes, I can call it... but that means *I* have to call it.
Pekr
13-Sep-2010
[4879]
http://www.rebol.com/r3/docs/functions/stack.html
Maxim
13-Sep-2010
[4880]
which means I have to put exception handling in all functions... 
and even then, when an error occurs within a mezz... its not going 
to be reported there... so I won't have the stack based on its calling 
... so the end result isn't near as usefull.
Pekr
13-Sep-2010
[4881]
trace/back ?
Maxim
13-Sep-2010
[4882]
so for example, if an application halts due to an error... the stack 
is effectively empty, since its back to the command-line.  :-(

ex:  I added a voluntary 0 / 0 to generate an error.

liquid/add[3]/instigate() [
** Math error: attempt to divide by zero
** Where: / unless cleanup switch foreach either if insti
** Near: / 0 plug/dirty?: plug/valve/purify plug if all [
    plug/re...

>> stack 10
== none
shadwolf
13-Sep-2010
[4883]
whaooo  you don't even need me to feud anymore nice work guys continue 
that way ;)
Maxim
13-Sep-2010
[4884x4]
this is a welcome change in R3   :-)

>> a: to-integer to-binary red
== 16711680

>> to-tuple to-binary a
== 0.0.0.0.0.255.0.0


as opposed to in R2

>> a: to-integer to-binary red
== 16711680
>> to-tuple to-binary a
== 49.54.55.49.49.54.56.48
to anyone holding back on using R3... with A107, I think we can really 
start to get serious in using R3
after a little bit more work on translating to R3... it seems to 
be much less work than it started out to be   :-D


I've got the basics of my dataflow canvas engine working in R3 (which 
is the basis for GLASS and many other tools of mine).


most of the time spent was in fiddling around with learning the changes 
in R3 view engine itself.   this is a 40kb lib running over another 
50kb lib... and its working as-is (once I removed references to the 
word 'FACE and system/words, mostly).
strange load behaviour.....   it doesn't load a file as rebol data... 
its only a string... I just had to do:

load load %datafile.r

just like if I was doing:

load read %datafile.r
Gregg
13-Sep-2010
[4888]
What is in the file?
Maxim
13-Sep-2010
[4889x2]
it seems to be related to the extension....  only a file with .r 
as extension is loaded as data... this insn't very cool.
the file name actually didn't have the .r in my script.
Gregg
13-Sep-2010
[4891]
Indeed. LOADing should not be affected by the filename.
Andreas
13-Sep-2010
[4892]
hmm, doesn't seem to depend on the extension, but on wethere there 
is an extension or not
Maxim
13-Sep-2010
[4893x2]
can anyone verify this claim before I post it to curecode!
should be run from where you have the r3 view tests installed.

;--------------------------------------------------------------------
rebol [
	title: "crash report for R3 - A107"
]

do %gfx-pre.r

; this works ok 

blk: load http://www.pointillistic.com/open-REBOL/moa/files/a107-draw-block-ok.r

;-------------
; same as above with A SINGLE circle added .
;
; crashes, with   "REBOL system error #1207:  assertion failed "


; adding a few items ALSO creates a windows READ memory exception.
;
; uncomment to provoke crash

;blk: load http://www.pointillistic.com/open-REBOL/moa/files/a107-draw-block-bad.r
;-------------

win: make gob! [size: 500x500]
box: make gob! [size: 500x500]

box/draw: to-draw blk [] ; crashes 


win: make gob! [text: "Basic DRAW test" offset: 200x20 size: 300x300]
append win box

win/text: none
win/color: red
init-view-system
view/options win [
	offset: 200x100
]
I'm testing from winXP
Andreas
13-Sep-2010
[4895]
does not crash for me
Maxim
13-Sep-2010
[4896]
did you try with the second load line uncommented?
Andreas
13-Sep-2010
[4897]
yes
Maxim
13-Sep-2010
[4898]
very strange... can you give me link to your compiled version?  I 
would do some tests... could be a compiler issue.  what are you using 
as compiler?
Andreas
13-Sep-2010
[4899]
gcc 4.4.2, as cross-compiler
Maxim
13-Sep-2010
[4900x2]
how can I get a specific version of gcc?  AFAIK mingw's online systems 
allow only an old 3.xxx version or the latest 4.5 which doesn't compile 
rebol at all or crashes it.
what os?
Andreas
13-Sep-2010
[4902]
linux, via wine
Maxim
13-Sep-2010
[4903]
ok, your compile also crashes  on my system... strange!


we need others to test this.... please, if you have a running r3 
A107 try it out so I make as precise a ticket as I can.


if it doesn't crash, download the file and try to add a few (or many) 
draw commands to it so see if it fails at some point.
Andreas
13-Sep-2010
[4904]
I reported the LOAD issue mentioned above as bug#1651: 

http://www.curecode.org/rebol3/ticket.rsp?id=1651
AdrianS
13-Sep-2010
[4905x2]
Maxim, I get a crash too if I comment the first load and uncomment 
the second. This is with a107 compiled with the MS compiler.
Windows 7 64 bit
ChristianE
14-Sep-2010
[4907x2]
What's the point of SYSTEM/CATALOG/ERRORS/:CATEGORY/CODE , how is 
supposed to be used and what are it's limits? 

I've noticed that you can't extend SYSTEM/CATALOG/ERRORS with your 
own error category if that is defined with an code of 997 and above 
in R3:


>> odbc: make object! [code: 996 type: "odbc error" no-handle: [""] 
cannot-connect: ["Cannot connect to" :arg1 "because" :arg2]]     
 ; define my own error category

>> extend system/catalog/errors 'odbc odbc   ; extend standard errors 

>> cause-error 'odbc 'cannot-connect ["CACHWEB Samples" "no such 
DSN"]

** odbc error: Cannot connect to "CACHWEB Samples" because "no such 
DSN"

>> system/catalog/errors/odbc/code: 997   ; too high an error code

>> cause-error 'odbc 'cannot-connect ["CACHWEB Samples" "no such 
DSN"]
** Script error: invalid argument: [
    type: err-type
    id: err-id
    arg1: first args
    arg2: second args
    arg3: third args
]
** Where: make cause-error
>> system/catalog/errors/odbc/code: 996

>> cause-error 'odbc 'cannot-connect ["CACHWEB Samples" "no such 
DSN"]   ; back to normal

** odbc error: Cannot connect to "CACHWEB Samples" because "no such 
DSN"


R2 seems to not pay attention to the error code, at least it doesn't 
choke on values of 997 and above. That limit in R3 seems to be somewhat 
arbitrary?
TL;DR: You can't create error categories of error codes above 996, 
is there a reasoning for that?
Graham
14-Sep-2010
[4909]
Slow progress on your ODBC protocol?
ChristianE
14-Sep-2010
[4910]
It isn't a protocol yet but rather has a module/function API. ODBC 
database access is working for me as a Windows only host kit extension, 
with UTF8 strings and bound parameters. I'm in code cleaning stage 
and I'm about to support SQLTables and SQLColumns catalogue API functions. 
Sadly, it won't be possible to use it with DATE! values for long 
(see curecode). And, yes, I'm thinking on supporting some ODBC errors 
in their own error category. There are no best practices known to 
me on how to do that, though.
florin
14-Sep-2010
[4911]
Any example of how rebol can talk to MS Outlook?
Oldes
14-Sep-2010
[4912]
Write an email to it? :)
florin
14-Sep-2010
[4913]
At least that. Close.
Graham
14-Sep-2010
[4914]
If Outlook as a COM interface, you can use that
Maxim
14-Sep-2010
[4915]
it does and works using Aton's com lib
florin
14-Sep-2010
[4916]
Thanks. Found this: http://anton.wildit.net.au/rebol/os/windows/COMLib/
Gregg
14-Sep-2010
[4917]
If you need it to be robust, and talk to mtuliple versions of Outlook 
(e.g. used by others who may have a different version), consider 
using Redemption. It is robust and well worth the money IMO.
florin
14-Sep-2010
[4918]
The above lib fails. Next, Redemption.