World: r3wp
[Core] Discuss core issues
older newer | first last |
Volker 14-Sep-2006 [5324] | LAdislav: Fix the console. Or at least a check 'reloadable? , which as meazzine molds, loads and checks for equality, and without to much overhead. |
Ladislav 14-Sep-2006 [5325] | Fix the console - how would you like it to be fixed? |
Volker 14-Sep-2006 [5326x3] | Good question. First thought was: report error. Second thought an option to mold, mold/always, and console uses that. |
default should be "better error than sorry" for 'save-related things IMHO, a dont-bother option would be ok. | |
I am very sensitive with save since people learn "save often" to keep their data, well, safe. Calling something "save" which breaks happily data was totally unexpected to me when i started (in the times when even a "}" in a string meant trouble, much bette rnow) | |
james_nak 14-Sep-2006 [5329] | It's probably just me but what is the deal with command line arguments via system/script/args, I can't seem to get anything returned except none. |
Anton 14-Sep-2006 [5330x2] | I wrote this a long time ago, but it should still be useful: |
prin "args: " probe any [ system/options/args ; this is available in user.r to-block system/script/args ; system/script/args is only available after user.r, when script is done ] | |
james_nak 14-Sep-2006 [5332] | Anton, thanks. I get it. You have to "turn on" the feature then use system/script/args with a "do/args script.r" Thanks. |
Anton 15-Sep-2006 [5333] | Very good. |
JaimeVargas 15-Sep-2006 [5334x3] | If rebol used unicode for source code the problem with deci! could be address in the same way that plt-scheme does. That is they just have exact and inexact numbers. Exact numbers print all digits up to the precision in a normal way. Inexact values print the number and the last digit has a dash on top. Operations of exact with inexact yield inexact. If the programer wants to warrant exactness he converst from inexact to exact, which just means removing a flag and assumming the number is exact to the number of digits given. |
I know that due to efficient represeantion of values with 16bytes gives a constraint. But it would be really cool if rebol adopted the tower of numbers from Scheme. | |
Rebol offers a way for handling molding of new data types that could be exploited. We could mold an inexact deci! using something like #[deci! [precision: 4 value: 1.33333333]] | |
Ladislav 15-Sep-2006 [5337] | ...the problem with deci! could be address in the same way that plt-scheme does... - there is no problem with deci!, it is decimal! that has got a problem |
JaimeVargas 16-Sep-2006 [5338] | Ah. Well then apply my comments to decimal! |
Ladislav 18-Sep-2006 [5339x4] | do you like this: any [1 true] ; == 1 ? |
sorry, bad cut and paste, forget about it | |
what would you prefer this expression to return, 1 or 2?: loop 1 [ f: func [x] [ either x = 1 [ loop 1 [f 2] 2 ] [break/return 1] ] f 1 ] | |
I take "either is fine" as a possible answer too | |
Rebolek 18-Sep-2006 [5343] | I prefer "2". |
Ladislav 18-Sep-2006 [5344] | sorry, I should have posted my question to Rebol3 group, probably, because it is about the new behaviour mainly |
Volker 18-Sep-2006 [5345x3] | 2 too. the result of "f 2" is thrown away, the last value 2. should be returned. i would not expect some side-effect here. |
The break/return should only change that with a f: func[[throw] x] IMO. | |
Maybe without even give an error. | |
Anton 18-Sep-2006 [5348] | (continue in Rebol3 group) |
Graham 20-Sep-2006 [5349x3] | I think this is a bug ... |
to-local-file what-dir | |
it removes the trailing "/" | |
Anton 20-Sep-2006 [5352] | Yep, the DOS/Windows way of representing directories is buggy. Rebol is not at fault here. |
Henrik 21-Sep-2006 [5353x2] | what's the easiest equivalent to: >> set to-path [a b c] 7 ; doesn't work |
where the block may be a set of arbitrary words in an arbitrary object. | |
Rebolek 21-Sep-2006 [5355x2] | Certainly not the most elegant sollution: set-path: func [pth val /local rslt][ rslt: copy [] head insert/dup head rslt [in get] -1 + length? pth repeat i length? pth [append rslt to block! form to path! reduce ['pth i]] set do bind rslt 'pth val ] |
>> a: context [b: context [c: 0]] >> a/b/c == 0 >> set-path [a b c] 7 == 7 >> a/b/c == 7 | |
Henrik 21-Sep-2006 [5357x2] | wow, that's a lot of stuff alright... |
well, it seems to work, thanks :-) | |
Ladislav 21-Sep-2006 [5359] | do reduce [to set-path! [a b c] 7] |
Rebolek 21-Sep-2006 [5360] | hehe I knew there's some simple way :) |
Henrik 21-Sep-2006 [5361] | ladislav, I did that one, but somehow I have trouble binding the result to the original object |
Ladislav 21-Sep-2006 [5362] | yes, the word 'a must have proper context for this to work |
Henrik 21-Sep-2006 [5363x2] | do reduce bind [to set-path! [a b c] 7] 'a does not seem to work |
rebolek: it doesn't handle paths with indexes in them. I don't always store objects inside objects, but also blocks of objects. are there ways around that? | |
Ladislav 21-Sep-2006 [5365x3] | do reduce bind [to set-path! [a b c] 7] 'a does not seem to work - right, that is not supposed to do anything meaningful, it simply keeps the context the word 'a had |
>> a: context [b: context [c: 0]] >> do reduce [to set-path! [a b c] 7] == 7 >> a/b/c == 7 | |
If 'a does not have meaningful context, then bind [...] 'a cannot repair the situation | |
Henrik 21-Sep-2006 [5368x2] | but 'a does have a meaningful context. I'll have to try a different approach. |
load mold reduce [to set-path! ... ] seemed to work | |
Anton 21-Sep-2006 [5370] | You shouldn't have to do that (load mold). Can we see a bit more of your code ? |
Henrik 21-Sep-2006 [5371x2] | rel-obj: make object! [] add-relation: func [path-block [block!] /local p v w] [ p: to-block 'rel-obj parse path-block [ any [ [set w word! ( unless all [ find either object? do to-path p [first do to-path p][[]] w insert tail p w ] [ do load mold reduce [to set-path! p make do to-path p reduce [to-set-word w none]] ] ] ] ] I'm not sure it's enough... |
it's only a small part of the function | |
Anton 21-Sep-2006 [5373] | usage example of add-relation ? |
older newer | first last |