World: r3wp
[Core] Discuss core issues
older newer | first last |
Henrik 5-Feb-2006 [3366] | how do you test for a function that returns nothing? I want to DO a script, and check if there was an error, but the script might sometimes not return anything |
Volker 5-Feb-2006 [3367x3] | !>>error? [()] == false |
!>>unset? () == true | |
!>>attempt[() true] == true !>>attempt[1 / 0 true] == none | |
Anton 6-Feb-2006 [3370] | if error? set/any 'err try [do %script.r][print mold disarm err] |
DideC 6-Feb-2006 [3371x3] | MichaelB: about the path problem in request-dir, it's a bug in the code. The simple solution is to patch this line (in request-dir func at the end of the script : if not all [keep path] [path: any [where what-dir]] like this : if not all [keep path] [path: copy any [where what-dir]] |
the 'path word is local to ctx-req-dir context and the Rebol path must not be changed by it. It's up to the "user code" to change it if he wants to. | |
But I agree that Rebol should check if path is "complete" (trailing "/") before using it in read/save/load/... functions | |
Pekr 9-Feb-2006 [3374x4] | I have got question from Bobik, to which I don't know answer ... I tracked the problem, but dunno why it is as it is :-) |
blk: [1 false] if blk/2 [print 123] | |
he was wondering, why it is true .... I found out after checking the type? blk/2, which is - word! .... my question is why it is word! and not logic! ? | |
blk/1 is integer!, why false here is not logic! ? anyone? thanks :-) | |
Sunanda 9-Feb-2006 [3378x2] | blk: reduce [1 false] ;; to correctly evaluate the block contents |
I guess it's analogous to: blk: [1 make object! [a: 1]] print blk/2 make | |
Ashley 9-Feb-2006 [3380] | blk: [1 #[false]] |
Pekr 9-Feb-2006 [3381x2] | ok, thanks ... I think now I understand ... yesterday I read about Haskell and functional languages ... |
Bobik used str: "[1 false]" val: load str ... so basically, he "executed" (evaluated) string, he got block, but he forgot to do the same for block content - so here reduce comes in the play ... | |
Sunanda 9-Feb-2006 [3383] | It can be annoying because reduce does not have a /deep refinement -- so if you load nested blocks, you may need to do a lot of reduces to make it work: xx: reduce load " [ false [ true]]" == [false [true]] type? xx/1 == logic! type? xx/2/1 == word! |
Pekr 9-Feb-2006 [3384] | I wonder if not being strongly typed (as Haskell claims they are), does not lead to almost untrackable bugs ... yesterday, working with debugger with our Ubicom CPU, I started to wodner, how we can live without the debugger in REBOL :-( |
MikeL 9-Feb-2006 [3385] | I''ve been caught-22 on that many times since I like to set my ini file definitions to be readable blocks and don't follow why other data types are correctly recognized e.g. blk: [1 12-feb-2006 $30.00] but not true or false or Yes or No without a reduce. If you use blocks for the ini file settings you get caught by the reduce e.g. if want this ini: [ clean-up-target-directory? Yes start-at 10:30:01 first-day-to-run 12-dec-2006 last-day-to-run 31-dec-2006] reduce requires me to flag the words as 'words. |
Sunanda 9-Feb-2006 [3386x2] | I tend to use nested objects as records stored in files. They suffer the same problem. My solution is a single read function hat runs through reducing things. |
Petr: having only 'trace or inserted 'print for debugging is like going back to the dark ages. Better debugging would be a great step forward. | |
Henrik 9-Feb-2006 [3388x2] | debugger? does a tool like this exist for REBOL? http://www.hmkdesign.dk/rebol/reblog/reblog.html |
it's practically automated testing and probe on serious steroids :-) | |
Sunanda 9-Feb-2006 [3390] | Looks great! Any release date? |
Henrik 9-Feb-2006 [3391] | I could release it now, but it's very, very buggy and it's not shielded from the program context |
Sunanda 9-Feb-2006 [3392] | You need to decide if you have the time now to deal with the bugs people will issue. If not, wait til it is more stable. |
Henrik 9-Feb-2006 [3393x3] | http://www.hmkdesign.dk/rebol/tester/tester.r |
consider it a flimsy prototype. requires list-view.r to be in the same path as the script | |
please don't submit suggestions or bug reports at this point | |
Pekr 9-Feb-2006 [3396x2] | heh, cool :-) |
Henrik - wrong link to list-view on the above reblog.html .... /reblog/ in the path should not be there ... | |
Gabriele 9-Feb-2006 [3398] | true and false - just use mold/all or save/all. |
Pekr 9-Feb-2006 [3399] | well, imo Bobik has this block as some result of form field get-values function :-) |
Gabriele 9-Feb-2006 [3400] | is the user typing true and false in? |
Pekr 9-Feb-2006 [3401] | dunno, would have to ask him, once I catch him on icq ... but - I think it is OK, I explained to him why he needs to reduce the block ... |
DideC 9-Feb-2006 [3402] | Henrik: just for info, there is CSS styles junks at the top of some pages like this one (in IE6 almost) http://www.hmkdesign.dk/rebol/reblog/files/category-3.html |
Volker 9-Feb-2006 [3403] | #[true] etc. |
Henrik 9-Feb-2006 [3404x2] | didec: odd. maybe not the entire page was uploaded. my internet connection is very bad right now |
pekr, link fixed | |
Sunanda 9-Feb-2006 [3406] | Thanks Gabriele --- save/all neatly does the job. No use to me though in several cases -- I support applications that pre-date that refinement and run under older versions of core. But it'll save me a chore in future apps. |
Henrik 10-Feb-2006 [3407] | hmm... seems I forgot there are some LIST-VIEW 0.0.29 only functions used in Tester. maybe I should do a release soon.... |
Gregg 10-Feb-2006 [3408x2] | Another new feature that may help is the /ONLY refinement on REDUCE. |
Very cool idea Henrik. Keep us posted. | |
Graham 10-Feb-2006 [3410] | Does any one have a tool for examining large objects? I'm trying to find where things are defined in beer, and using an editor to browse the port object is not fun. A sort of anamonitor for objects? |
Gregg 10-Feb-2006 [3411] | port! values don't support the use of FIRST to get their words (AFAIK). At least I think that's what I ran into trying to support them in my old object browser. |
Graham 10-Feb-2006 [3412] | where's your object browser Gregg? |
Henrik 10-Feb-2006 [3413] | graham, did you try the object browser in Viewtop/Tools ? |
Graham 10-Feb-2006 [3414] | Nope .. ;) |
Volker 10-Feb-2006 [3415] | first is a port-operation.. Maybe it could use the default-words for ports. |
older newer | first last |