World: r3wp
[!REBOL3-OLD1]
older newer | first last |
BrianH 29-Apr-2009 [13865x2] | Situations like that are why DevBase and chat are integrated now. |
OK, Maxim, the MOVE/skip example you specify is not an error in MOVE, it is an error in the code calling MOVE in that example. MOVE was specifically designed to do something useful in that case, rather than generate an error. The whole reason that MOVE takes one position and one offset is because that limit gets rid of a host of potential aliasing errors. MOVE is designed to be the most efficient and safe solution to the problem of moving stuff, and it should *never fail* unless the series is protected from changes. MOVE is a DWIM function: Do What I Mean. This goes for treating negative /skip lengths as an error too - having it magically constrain the /skip length to 1 or greater was a deliberate design choice, the result of a lot of discussion. So the question is whether the error of having /skip lengths being less than 1 is worth worrying about, worth the overhead of generating an error and checking for that error every time you use the function. Don't be fooled, that overhead is really significant. We've already changed other functions so they don't generate errors anymore, and just DWIM, like FIRST not complaining about bounds and acting like PICK 1 now. These changes have made these functions faster, and better to use. Generating an error is considered something to do when it is really important, as it sometimes is. How important is the /skip < 1 error? | |
Maxim 29-Apr-2009 [13867x2] | you have been talking about the actual /skip parameter value, and all along I was talking about the effect of using /skip which causes the function to go outside of bounds of the series based on the skip size... doh! hahahaha |
I was so off, I could have landed in ireland, while trying to go to the corner store! ;-) | |
BrianH 29-Apr-2009 [13869x2] | No, I got that about your example. The behavior you describe was deliberately chosen. |
The behavior that Henrik is concerned with is /skip lengths < 1. MOVE was designed to just up that to one, DWIM. | |
Maxim 29-Apr-2009 [13871x4] | but *I* didn't get your point ;-) /skip size < 1 should effectively just be bound to 1 as long as its explicitely documented. there is no real use in /skip < 1 |
and I understand that adding too much verification to series handling code really slows the whole a lot. | |
cause its exponential in the long run. 1 % becomes 1.5 then 2. the slowdown rate accelerates as mezz code uses other mezz code. | |
its like when I discovered that using 'RETURN was slowing down some code I had by more than 20%! is 'RETURN any faster in R3, btw? | |
BrianH 29-Apr-2009 [13875] | The problem is that DIFFERENCE/skip < 1 generates an error, and every other function /skip < 1 hangs. So the question is whether they should *all* be changed to act like MOVE (silently DWIM), or all be changed to act like DIFFERENCE (generate an error). |
Maxim 29-Apr-2009 [13876] | tough call, but if it can't lead to data corruption, I'd say the later. |
BrianH 29-Apr-2009 [13877] | No, RETURN, EXIT, BREAK, CONTINUE and error throws are just as slow in R3. It's the setjmp/longjmp exception frame overhead. |
Henrik 30-Apr-2009 [13878x2] | Finally some simple thread reading ability in Chat: 3928 lr will display all messages related to that thread. j will jump to the previous message in the thread. |
Correction. lr lists all messages previous to the current one, not all messages. | |
Sunanda 1-May-2009 [13880] | It's10 years (to the month) from this slashdotting: http://slashdot.org/article.pl?sid=99/05/14/1921231 If REBOL3 got slashdotted, what are the huge milestones that should show up as progress? |
Pekr 1-May-2009 [13881] | There's no R3 yet. In few months, maybe. There is many usefull changes in it compared to R2, R3 fixes everything we wished for for so long. I don't understand what you mean by "milestone" here ... |
Mchean 1-May-2009 [13882] | wow 10 years |
Henrik 2-May-2009 [13883] | Progress milestones: Single graphics engine VID3.4 Unicode Tasks Modules Built-in chat system Built-in open source management Completely redesigned ports (fully documented and ready to use, you protocol writers) When finished: Fixing almost every deficiency that R2 has through 10 years of use by expert developers. |
Gabriele 2-May-2009 [13884] | I hope you never put "built-in chat system" as a milestone on Slashdot... |
Henrik 2-May-2009 [13885x5] | so which other language has a direct hotline to the main developer in the console? |
But... it doesn't matter. The Slashdot crowd will laugh at anything thrown at them. Then there will be a few comments from developers. Then there will be comments like "but it's just like LISP or Scheme". It will be ridiculed no matter how well we do. | |
In general, it is a much better idea to do marketing on ReBrowse. People will understand what it is. The right people will want to learn how it's built. | |
The DRAW documentation has been overwritten in Docbase with an empty page. Document name collision? | |
http://www.rebol.net/wiki/Draw | |
BrianH 2-May-2009 [13890] | Don't put tasks on the list - they are due for a redesign. Otherwise, cool :) |
Pekr 2-May-2009 [13891x4] | Gabriele - why not? The chat system is more powerfull than that of AltME, and I find AltME usefull, although it has its limitations. Once we create GUI for it, it will allow for some nice simple IM stuff. Why do you think SlashDot ppl would have problem with it? |
Btw - who cares of SlahDots at all? I don't visit if for so long already. Those ppl are real idiots ... | |
BrianH: what are your plans on task related stuff? Do you mean reworking highere level, or even low level? So far R3 uses threads, no? Are we after Eiffel model? | |
Found this presentation - http://www.cse.yorku.ca/~eiffel/cs_eiffel/scoop_slides/Concurrency.ppt | |
Izkata 2-May-2009 [13895] | At least don't call it a "chat system" without the description "direct hotline to the main developer", as that line would stand out and make people think it's a joke |
BrianH 2-May-2009 [13896x3] | So far, R3 tasks don't work properly and should be considered a placeholder. We can't do a proper task model until there are changes to the basic semantics of REBOL. Fortunately most of those changes were done in the last month. |
Main developers. Carl isn't the only one working on R3. Good to emphasize that too. | |
Pekr, the concurrency model to beat nowadays in the Erlang model, not Eiffel. | |
Henrik 2-May-2009 [13899] | Perhaps thorough wiki-based documentation should be mentioned as well. |
Will 3-May-2009 [13900] | could this be helpful in R3? http://www.gearman.org/doku.php |
BrianH 4-May-2009 [13901x2] | Steeve, apparently Carl is working on vector! for the next release. Enjoy :) |
Ladislav, I implemented your proposed changes to FUNCTOR, then enhanced them. New versions posted to DevBase. Enjoy :) | |
amacleod 4-May-2009 [13903] | Any specs on MakeDoc3... i do not see anything in the Wiki about it.. |
BrianH 4-May-2009 [13904] | Well, it appears that Carl has handled *all* of the vector! bugs today. It looks like another good release is coming this week. |
Henrik 5-May-2009 [13905] | and almost all skip bugs too |
BrianH 5-May-2009 [13906] | Except MOVE/skip - I did that one :) |
Henrik 5-May-2009 [13907] | we are generally ending up with error for skip < 1? |
Pekr 5-May-2009 [13908x2] | How do you know? CureCode reports? |
Is Vector really so important? I am just asking, as I don't precisely understand, what is the datatype good for, except one note from Carl, when I requested some better binary conversions, so that he said that it should be available via the cector! type. | |
Maxim 5-May-2009 [13910] | for one, arrays of tightly-packed values we can use in external calls directly... like matrix transformations. |
BrianH 5-May-2009 [13911x2] | It's good for speed and memory saving, and better binary conversions. Once we have vectors, we will have less people complaining about the lack of rebcode, except for the people who never take good enough for an answer :( |
And yes, Carl marks the native changes as done in CureCode the moment he gets a working build. I mark mezzanine changes as pending as soon as they are submitted to DevBase, then as build when they are released. | |
Henrik 5-May-2009 [13913] | Perhaps vector is a requirement for rebin. |
BrianH 5-May-2009 [13914] | Sorry, Carl marks them as "built", even before they are released. A release usally comes within a day of that. |
older newer | first last |