World: r3wp
[Core] Discuss core issues
older newer | first last |
BrianH 23-Feb-2009 [12767x2] | That license restriction is the reason Carl suggested BSD at most. |
(bbl) | |
MaxV 23-Feb-2009 [12769x6] | Hello every body! I can't understand copy with series: |
Example: | |
a: [ "23" "Feb" "2008"] | |
b: copy a | |
insert b/2 "-" | |
(a== [ "23" "-Feb" "2008"]) a IS MODIFIED, why? | |
Henrik 23-Feb-2009 [12775] | each string in the block is also a series. for your problem to be solved, you must use copy/deep. |
MaxV 23-Feb-2009 [12776] | wow, thanks. Now I understand rebol put inside the second elemet "-" and not between the first and the second. |
Henrik 23-Feb-2009 [12777] | ah, it does that for a different reason than you might think. b/2 references the second string itself, not the index in the block where the second string is. you may want to do something like: insert at a 2 '- If you don't want to destroy 'a, copy it first, but in this case /deep is not necessary, as you wouldn't be affecting the strings in the block, only their positions. |
Gabriele 24-Feb-2009 [12778] | Probably based on Gabriele's code if I can convince him to MIT it - his code is currently BSD, and BSD's non-promotion clause may be at odds with the extensive attribution I've put in R2-Forward. That's why I used MIT: BSD licensing is too restrictive. - Brian, first, you are being paranoid about BSD, second, the license for my code has not been decided yet and I have no preference for BSD over MIT over anything else. |
Graham 24-Feb-2009 [12779] | You might have seen this license too ... http://sam.zoy.org/wtfpl/ |
Rebolek 24-Feb-2009 [12780] | that's licence I really like |
BenBran 26-Feb-2009 [12781] | anyone know how I can talk to a UNC path on the network files: recursive-Read %//bens2000as/c$/myTestDir |
[unknown: 5] 26-Feb-2009 [12782] | Benbran try this: %servername/sharename/ |
BenBran 26-Feb-2009 [12783] | bummer: ** Access Error: Cannot open /C/rebol/local/bens2000as/c$/mysql/ |
Gregg 26-Feb-2009 [12784] | Dont use double slashes at the head. |
Graham 26-Feb-2009 [12785x3] | You can always take a windows path, or UNC path and convert it to-rebol-file \\bens2000as\c$\myTestdir |
needs quotes around the windows path ] >> to-rebol-file "\\bens2000as\c$\myTestdir" == %/bens2000as/c$/myTestdir | |
note the single leading "/" | |
Gregg 26-Feb-2009 [12788] | Excellent point Graham. |
BenBran 26-Feb-2009 [12789] | that worked! thank you folks!! to-rebol-file has been the answer before, I really need to remember that one. :-) |
[unknown: 5] 27-Feb-2009 [12790x3] | Nice little function for you math guys: max-summands: func [n /local i][i: 0 until [i: i + 1 n: n - i n < i] i] |
Small but significant fix: max-summands: func [n /local i][i: 0 until [i: i + 1 n: n - i n <= i] i] | |
This function will return a number that corresponds to the maximum summands that can result in the sum of the number without repeating. For example: 1 + 2 + 3 = 6 therefore it would have a value of 3 since their is 3 numbers added together. 1 + 2 + 3 + 4 = 10 | |
Maxim 27-Feb-2009 [12793] | just be mindfull about the unc paths... any local root dir which has the same name as a machine will take precedence... I have been bitten by this on linux. I really wish rebol left the double \\ as double // on the root or if it had a real machine name separator. which translated to whatever local path it equates to (UNC most probably). |
Graham 3-Mar-2009 [12794x4] | Anyone have an idea of what might be causing this problem? make object! [ code: 331 type: 'script id: 'call-fail arg1: "The system cannot find the path specified.^M^/" arg2: none arg3: none near: [browse/only join http://127.0.0.1:8002/ url] where: 'browse-local ] |
Cheyenne is listening on port 8002 and gives a 404 if a browser is used. | |
call-fail means what?? That rebol can't find the browser? | |
I don't have access to this person's PC so I can't test it :( | |
Gregg 4-Mar-2009 [12798] | My guess is the same as yours on the error Graham, though I've never seen it myself. |
Dockimbel 4-Mar-2009 [12799] | >> help system/error/script/call-fail SYSTEM/ERROR/SCRIPT/CALL-FAIL is a block of value: ["External process failed:" :arg1] |
Graham 4-Mar-2009 [12800x2] | I've asked the user to install Firefox and make it the default browser to see if that helps. |
So, if the user has an empty value in the registry for the default browser, I guess that would cause this ...and :arg1 would be the browser .exe | |
Dockimbel 4-Mar-2009 [12802] | I agree with your interpretation, the registry value is probably either empty or corrupted. |
BrianH 5-Mar-2009 [12803x5] | kib2: "Does that mean that we can use unicode encoding with the help of r2-forward ?" No, I only can only spoof datatypes that don't exist in R2, and R2 has a string! type. The code should be equivalent if the characters in the string are limited to the first 256 codepoints of Unicode (aka Latin-1), though only the first 128 codepoints (aka ASCII) can be converted from binary! to string and have the binary data be the same as minimized UTF-8. |
There are ASCII? and LATIN1? functions that test, char!, string!, binary! and integer! in exactly the same way as the R3 natives, and a UTF? function that tests the BOM. When ENCODE and DECODE are written in R3, I'll backport them too if I can, though they probably won't generate string! values. | |
See the notes for what can and can't be supported. The unsupported list may grow or shrink with changes to R3 or more information. | |
I'll add the Unicode compatibility restrictions to the "Intentionally not supported:" list when I do the next release. | |
It is probably better to load R2-Forward as a module (compatible with Gabriele's %module.r) - then it will just export, not set global words. Scripts written with R2-Forward are more likely to be compatible with R3 than they are with R2, so assume some porting will be necessary for existing R2 code. It makes a good porting tool though, since very little will need to be done to your app to make it R3-compatible if it runs with R2-Forward. | |
Chris 7-Mar-2009 [12808x2] | What is the etiquette for using metadata in a REBOL header? Here's some scenarios: A) From Viewtop: REBOL [ type: 'index ] title "My RebPage" This is clearly ok, and a good way for an application to determine the disposition of data - in this case a Dialect. B) I use this for QM modules: REBOL [ type: 'module exports: [do-something] ] var: 1 do-something: func [val][val * var] This adds a little more, as the 'exports block is more than just an 'id, it's contents are bound to the application. Moreover, 'exports is not in the standard header. C) A hypothetical dialect definition with some 'do code (I'll use VID to demonstrate): REBOL [ title: "My Application Window" type: 'vid locals: [mybtn myarea] on-close: [save-all quit] options: [resize min-size (config/min)] ] h1 "My Small App" myarea: area "Some Text" mybtn: btn "Submit" [save-all] Now obviously all these cases can be fleshed out with R2, but is this abuse of the header? There's still no security issue 'loading the file, indeed it takes a special handler to actually execute the code. But again, is this taking the header where it shouldn't go? What of R3? |
Anyone else manipulate headers for more than a trivial degree of metadata? | |
Maxim 7-Mar-2009 [12810x3] | I have done so in the past, specially for data files. |
my own rule was, if its something you can edit and don't want to have to "look" for in the code, its ok. | |
its also (I find) a clean way of presenting end-user options to a script which shouldn't really be edited by the user. | |
Chris 7-Mar-2009 [12813x2] | So, like -- edit settings in the header, but don't touch the code? |
(for your last example) | |
Maxim 7-Mar-2009 [12815x2] | that's my way of seeing it |
IMHO it should allow the user to "inject" code, unless its first parsed via a dialect. | |
older newer | first last |