World: r3wp
[Core] Discuss core issues
older newer | first last |
Carl 19-Sep-2005 [2144] | Shells often use: verb source destination |
Geomol 19-Sep-2005 [2145] | Carl, I ask, because I'm writing REBOL-versions of some of the old Amiga graphics.library functions. BltBitMap e.g., in the Amiga version, the arguments are: source bitmap, source position, destination bitmap, destination position, mask, etc... Should I turn source and destination around in a REBOL version? |
Carl 19-Sep-2005 [2146] | In that case, when source and destination are of equal weight, then you can apply other rules. |
Geomol 19-Sep-2005 [2147x2] | Or rather: what would you do? |
ok | |
Carl 19-Sep-2005 [2149] | It depends on if you want to keep it true to the Amiga order, or if you are creating something new. |
Geomol 19-Sep-2005 [2150x2] | I plan to let the functions be available to other developers, so I was wondering, what people would feel as the right 'REBOL' way. |
My idea is, that it's new, but Amiga developers should recognize it. | |
Carl 19-Sep-2005 [2152x4] | In the example you show above... it seems good. The source bitmap could be considered the primary object, although the dest is also very important. |
Romano, yes, it is a monster! | |
Neg for negate may be simplest. We already have abs for absolute. | |
And, it seems that there are people pushing for sin (sine), cos (cosine), tan, etc. | |
Romano 19-Sep-2005 [2156] | I should remember that the doc of the original functions are in source-destination order, so for me is a good idea to make the same in Rebol, there a direct map of OS function and OS doc on rebol functions |
Geomol 19-Sep-2005 [2157] | Yeah, I should probably keep the order of the arguments, as they are in the Amiga version, so it'll be recognizable. Thanks! :-) |
Graham 19-Sep-2005 [2158x7] | The word browser is nice, but I spend most of my time in the console. How about a man command that looks up the manual pages on the net, and dumps them to the console? |
And since the console responds to escape sequences, we could even have some formatting ? | |
I thought tags were a special form of strings ... | |
However, this appears not to be the case ... >> probe rejoin [ "<html>" "testing" "</html>" ] <html>testing</html> == "<html>testing</html>" >> probe rejoin [ <html> "testing" </html> ] <htmltesting</html>> == <htmltesting</html>> | |
>> html: "" == "" >> repend html [ <html> "testing" </html> ] == "<html>testing</html>" | |
Is 'rejoin trying to do some datatype conversion? | |
>> rejoin [ "" <html> "testing" </html> ] == "<html>testing</html>" Guess it must be. | |
Tomc 19-Sep-2005 [2165] | they take the first item's datatype |
Ashley 19-Sep-2005 [2166] | re: negate. If "10 + neg 5" was the functional equivalent of the unary minus example, and its a known performance exception, then I for one would vote for it's removal. I, and I suspect many others, didn't even realize REBOL supported this (I use the 'negate function instead quite often). |
Sunanda 20-Sep-2005 [2167] | <<How about a man command that looks up the manual pages on the net, and dumps them to the console?>> It wouldn't be that hard to adapt the existing code for other purposes too. Like, it'd be good if someone extended it to emit MakeDoc codes. Those files could then go straight up on the web -- instant searchable ocumentation. I get the impression that Carl would be happy for people to volunteer to extend the project. |
Ladislav 20-Sep-2005 [2168] | Ashley: I am supporting the same as long as we get a reasonably short and readable name (like Neg) |
Geomol 20-Sep-2005 [2169] | Ashley, you've got my support aswell, at least to hear Carl on this. Maybe the performance issure is very small, and if many programs/scripts will break, it probably shouldn't be changed. But otherwise yes! We like fast code! :-) The asm dialect of REBOL, "rebcode", might change the situation. If removing unary minus is a problem, and we don't have it in rebcode (and rebcode will boost performance a lot of course, as it will), then it maybe shouldn't be changed. |
Ladislav 20-Sep-2005 [2170x2] | there may be other influences IMO |
(like readability,debuggability, ...) | |
Geomol 20-Sep-2005 [2172x2] | I agree, readability is very important! (Many forget that though.) |
Why did he put unary minus in in the first place!?? ;-) We want the full story! | |
Ladislav 20-Sep-2005 [2174] | to comfort the ones who would miss it above all, I think |
Romano 20-Sep-2005 [2175] | The performance issue depends from the fact that Rebol must understand from the context what is the the meaning of "-": it can be one of three (see before). While all other op can work as action! or op! (+ 2 3 or 2 + 3) , minus can work in three different modes (2 different actions: negate and subtract and an op! 2 - 3). I would remove not the unary minus but the fact that any op! can work like an action (+ for add, * for multiply) this would make the evaluation loop a little more fast. |
Benjamin 21-Sep-2005 [2176] | read/skip never work's will this bug ever be fixed ? |
Henrik 21-Sep-2005 [2177] | benjamin, are you using the latest core with the /seek refinement? |
Graham 21-Sep-2005 [2178] | see http://www.rebol.net/article/0199.htmlregarding seek. |
Benjamin 22-Sep-2005 [2179] | seems to work ok, but i think the original purpose was a simple line of code to make the seek with a simple read, any whay this works ok to me many thanks |
Ingo 22-Sep-2005 [2180x2] | Why do I get an error "invalid argument" here? >> comp-length: func [a b][compare (length? a/2) (length? b/2)] >> sort/skip/compare files 2 :comp-length ** Script Error: Invalid argument: 2 ** Near: sort/skip/compare files 2 :comp-length >> source compare compare: func [ {compares to values, and returns -1 / 0 / 1 for values a<b / a=b / a>b} a b /local return ][ case [ a > b [-1] a < b [1] true [0] ] ] REBOL/View 1.3.1.3.1 |
files is somthing like [%abc [%a/ %xx/] %def [%xyz/] ...] | |
Sunanda 22-Sep-2005 [2182] | Add /all to the sort: sort/all/skip/compare files 2 :comp-length |
Ingo 22-Sep-2005 [2183] | That still doesn't work, I just checked wether I had accidentally overwritten 'sort, but no ... |
Sunanda 22-Sep-2005 [2184] | It works for me: files: copy [%abc [%a/ %xx/] %def [%xyz/]] compare: func [ {compares to values, and returns -1 / 0 / 1 for values a<b / a=b / a>b} a b /local return ][ case [ a > b [-1] a < b [1] true [0] ] ] print system/version sort/compare/all/skip files :compare 2 probe files 1.3.1.3.1 == [%def [%xyz/] %abc [%a/ %xx/]] |
Graham 24-Sep-2005 [2185] | not core .. but I wonder what RT has to do to make use of dual core CPUs. Is this an OS, or an application thing? |
Henrik 24-Sep-2005 [2186] | that's an OS thing for now. I don't think programs can be threaded across multiple CPU's yet and since REBOL still doesn't have real threading, it doesn't matter anyway. |
Graham 24-Sep-2005 [2187x2] | I was thinking more of running more rebol instances than threads |
for example running more IOS servers and the like | |
Sunanda 24-Sep-2005 [2189] | It'll depend on how the OS does it. Expect them to start primitive and slowly improve *probably* any started task can be dispatched on any spare CPU. And, after any suspension, it'll get restarted on any spare CPU. *probably* (as Henrik says) subtasks will run on the same CPU. In many people's cases all their spyware and viruses will hog one CPU. leaving the other free for productive work. Separate instances will *probably* run on separate CPUs, leaving serialisation and such an issue as now. If they need to talk, a tcp/ip pipe may be easiest (as now). |
Graham 24-Sep-2005 [2190] | I wonder then what localhost will refer to ... |
Henrik 24-Sep-2005 [2191] | OSX I believe, starts new tasks on additional CPUs if a current program hogs the currently used CPU. So yes two instances of REBOL would run on each CPU, but only if CPU utilization is "correct". |
Graham 26-Sep-2005 [2192] | Is it inconsistent that with an object, you can do first object pick object 1 but not object/1 ? |
Pekr 26-Sep-2005 [2193] | imo paths are inconsistent on more places ... we just recently got block/(compute value) functionality and block/4: "text" etc. to simply change value directly ... |
older newer | first last |