World: r3wp
[!REBOL3-OLD1]
older newer | first last |
Henrik 31-Oct-2008 [7851] | BrianH, can you talk about the set [a: b:] issue and what it means for us? |
Gabriele 31-Oct-2008 [7852] | Brian: same as there is a conversion between the Linux UTF-8 APIs and the internal 16 bit array, there is a conversion between the Windows UTF-16 APIs and the internal 16 bit array. In the same way, we can eventually support 32 bit arrays and convert those UTF-16 strings that can fit into it to just 8 bit arrays. |
BrianH 31-Oct-2008 [7853x4] | Gabriele, cool, I was just concerned about speed. I suppose calls to external APIs are likely to be less frequent than internal manipulations, and UCS encoding would make the internal code faster. Either way I'm sure that it will be handled :) |
The SET [a: b:] issue: In current REBOL a block argument to SET for the word parameter needs to be filled with values of the word! type, not any other word types. This is in contrast with just passing a single word value, which can be of any word type. The result of this is that values in word block argument need to be converted to word! before being passed as a parameter. There is no reason that those words need to be of the word! type, particularly since the block isn't evaluated. One interesting thing about REBOL is that a word! bound to a context will refer to the same value as words of the other word types with the same spelling otherwise. This means that if you set a lit-word! to a value, you can get the same value from the corresponding word! or get-word!. Now, the current behavior has some bad consequences as well, usage issues. Some word block arguments had to be preprocessed. The big problem we ran into was when we wanted to use SET inside of functions created with the new FUNCT function (temporary name). FUNCT collects set-words from the code block and nested blocks and adds them to the function's locals. This is cool and works a lot better than I thought it would, and all action handlers of the new GUI are turned into functions with FUNCT. The problem we ran into is that when we had to use block SET to set local variables, those local variables would leak into an outer scope, wreaking havoc. If you are specifying the function spec directly there is an easy workaround for that: Just specify the locals that aren't caught with your own /local vars. However, you can't specify the function spec of an action handler in the dialect, just the code blocks (security/stability). This meant that if you wanted locals to be captured, you had to set them to none earlier in the function. How soon do you expect that to fail? An easy solution to this would be to specify the words you want local as set-word! values in the literal word block argument to the SET. Those set-words would then be caught by FUNCT without any overhead. No problem, except for that SET doesn't allow it right now. This is what we are going to fix in the next build: You will be able to do SET [a: b:] value. | |
In some circumstances like with FUNCT above, you will likely *have to* do SET [a: b:] value. This is where we get to the implications, what it means for us: We are making changes to the core, sometimes subtle changes with big implications. These changes are coming as a result of the work on the new GUI. Some of them are bug fixes, some of them are new functions or other enhancements, some are fixes to design flaws in the language expressed in functions we have already. They will affect the code you write even if you aren't doing GUI code. Every change like this is going to make R3 a cleaner, easier and more powerful language than R2, even with the backports. Something to look forward to :) | |
There are going to be more of these fixes in the next build. Stay tuned for more treats :) | |
Henrik 1-Nov-2008 [7857] | Thanks for the info, Brian. |
Gabriele 1-Nov-2008 [7858] | Brian, once Carl told me that SET allowed only word! in blocks because other types were reserved for future "dialected" meanings. But, I guess, we're giving up on that? |
Pekr 1-Nov-2008 [7859] | BrianH: we have one special set-word notation in R3 'foreach. Hopefully it is not problem to explain this one ... |
BrianH 1-Nov-2008 [7860x2] | Gabriele, noone came up with an appropriate dialected meaning over the years, unlike with FOREACH. So, unreserved :) |
Pekr, since the words and set-words in the word argument of FOREACH get bound locally to the code block, they can't refer to local variables in an outer scope even if you wanted them to. So FUNCT has no effect on FOREACH. | |
Henrik 3-Nov-2008 [7862] | A bit of status: - Carl ran into a bug in the AGG C++ code: "draw 10x10 []" in the console will crash R3 and it's a tough one, as it might be compiler related. Not fixed yet. - Some of the stuff that BrianH has talked about above is now implemented in a new build of R3 as well as some additions to MAP!. - My ramblings on DRAW has caused me to pause on skinning until I can get a clear picture of whether the problems will be fixed. Otherwise I'll have to redo a lot of work later on. I experiment with compound styles instead as well as some simple color palette tools. - It was decided that popup graphic elements are to be done in separate windows for greatest flexibility. No code done yet though. - No talk about overlays or drag'n'drop yet. |
Graham 3-Nov-2008 [7863] | Thanks |
Pekr 3-Nov-2008 [7864] | Henrik: - what do you mean by "overlays" please? - what do you mean by pop-ups being done in separate windows? Pop up dialogs were always separate windows, no? Or are you talking menus for e.g. too? - hopefully Cyphre gets contracted to do some fixes/enhancements. Do you think, that once it happens, community could dig most important bugs in draw layer, and ask for fixes? |
Henrik 3-Nov-2008 [7865x2] | - It means elements that are floating above the layout at any position. - Popups are windows, popup menus, bubble help and other graphic elements that may extend over the edge of the window. - I have no idea what can be fixed or if it will be fixed. |
Cyphre's in now, so we'll see. | |
Pekr 3-Nov-2008 [7867x2] | http://www.rebol.com/article/0377.html- R3 project status ... |
I miss plan for inclusion of important things I named in the past ... releasing new VID without them is imo a fatal mistake ... | |
BrianH 3-Nov-2008 [7869] | Well, that's what comments in the blog and here are for. Please provide a list of things you consider important and we can discuss the list and get them included, or come up with alternate features that do the same thing but better. Don't assume that any features we already have will conflict with what you want. Feedback is king here. |
Pekr 3-Nov-2008 [7870] | I posted in on r3-alpha - I can repost to blog, as I expect more wider audience comments in there .... |
BrianH 3-Nov-2008 [7871x2] | I'll look there unless you want to have the discussion here. |
The "list of widgets" post? | |
Pekr 3-Nov-2008 [7873] | yes, list of widgets ... we should not release without widgets like tab, tree-view, basic table (list-view), accelerator keys (needing redesign of all relevant styles imo, because rich-text will be needed), tabbing support. VID2 show stopper was missing more advanced styles, at least above mentioned. Those are needed for basic prototyping. Newcomers will not be able to produce them themselves. Most ppl would prefer such things instead of fancy color requester etc. |
BrianH 3-Nov-2008 [7874x2] | Simple answer: I don't think we are currently talking about finalization and the color picker was an example, not a feature. Longer answer: The new GUI is going to be part of the open source portion of R3, and open source projects are never really finished until they die. So the question here is not "finalized" but "ready for a release to the wider developer community". In order to do that we need to put together the core design of the infrastructure and enough styles to get the new DevBase GUI up and running. Right now we are focussing on styles and features that have the most impact on the system as a whole, or the most potential to flush out bugs in the underlying runtime. If it all seems low-level, that is because it is. We will have a development release before we have most of the styles you mention because we will need the help of the developer community to make those styles and more. However, don't expect the styles you list to be missing - some of them meet the criteria I lested above, like helping flush out design flaws or use in DevBase. |
lested -> listed | |
Pekr 3-Nov-2008 [7876] | This is good to know, and imo Carl should update his blog. For many ppl over the years, the real show stopper was missing styles. The blog article almost sounds like we would be finished ... |
BrianH 3-Nov-2008 [7877x2] | The new GUI is going to be extensible with new styles. No list of styles will be sufficient for everyone, so we are enabling and encouraging developers to make their own. For instance, I would like some styles inspired by the Office 2007 UI: ribbons and contextual toolbars. I know whole applications that are less complex to implement than those styles, so I would not expect them to be included in the core release at first. |
Nonetheless, some design decisions and features are getting somewhat finalized as part of this process, so you weren't off in that. | |
Pekr 3-Nov-2008 [7879] | What is the most difficult design issue nowadays regarding VID (hence e.g. not decided)? Is it low level draw changes, or implementation of some subsystems? |
Henrik 4-Nov-2008 [7880] | Probably the first, since it's about Cyphre having time to do them. |
Pekr 4-Nov-2008 [7881] | Well, first it is upon decision, how draw should evolve at all :-) But it seems to me that some of you guys are asking for more flexibility at pixel level .... |
amacleod 4-Nov-2008 [7882] | What happened to the stuff Carl was working on to increasing the power of the GUI by making it more webpage-like - by incorporating services into the widgets? I have not heard any recent talk of these ideas... |
Henrik 4-Nov-2008 [7883x2] | Not working on that part yet. |
Our internal demo program (as shown in my first video) has slots for these parts, but they are not in use yet. | |
Pekr 4-Nov-2008 [7885] | amacleod - services are in rebol in general (rebservices, aka LNS), and they will be supported by R3 too. But - as for "rebol browser", so far I can once again see only business graphics being a target. More casual design should be possible though. |
amacleod 4-Nov-2008 [7886x3] | Pekr, I understand Services will be there in R3 but Carl blogged about this concept of a button linking to the www...It was a little vague and Henrik did try to clear it up buy the new GUI seeems void of this.. I thought it was to be tightly intergrated into the gui and a major reason for the delay of vid 3.4. I thought it was a bold new step in the concept of GUI's but it does not seem to be a part of what we have been privy to. |
Henrik, I'll have another look at that video but I do not recall what you are refering to. | |
Is that "Triggers" | |
Henrik 4-Nov-2008 [7889] | It would be "Document" |
Pekr 4-Nov-2008 [7890x2] | amacleod - I can see no problem with what you describe and with what is currently finished. Look - the concept of top level (VID) "reactors" is already there, is extensible imo, and that is all that is needed. Rebservices are imo underneath, and are going to be called by reactors like 'submit for e.g. |
What I can't imagine right now is the browser concept. Well, it is a layout window, it can be for e.g. a panel. But when you look at various web sites, e.g. news portals, you can see that their design is more "free form", or casual, dunno how to express it precisely. So - what would you need to mimick for e.g. www.OSNews.com ? Define few styles, decide upon the columns design (group, panel), prepare styles for particular sections/zones (portlets - IBM, web parts - Microsoft, iViews - SAP terminology) and fill them with information .... | |
Henrik 4-Nov-2008 [7892x3] | The questions is probably whether you would want to accurately mimic websites. I think that misses the point of the rebol browser. It doesn't mean we shouldn't be able to mimic websites, however. |
What I hate about many websites is that they have very inefficient layouts. This is particularly so for forums and certain newssites, where perhaps 10 or 20% of the information on the page is relevant to you. Now imagine AltME's GUI inside a webpage. It's very efficient. | |
One of the saddest tricks nowadays is to divide a small 2-300 word article on a news site into several pages, so they get more ad-visits. | |
Pekr 4-Nov-2008 [7895x2] | yes, you describe some bad aspects of web trend. But the layout is there. The problem with my understanding of what will be needed to be done in VID is, that nowadays web is not only about laying out some images, links, texts, but e.g. even simple menu is JS nowadays, not to mention AJAX junk .... |
Other differences are - content is separate from presentation with html/css combo. Loading of website content is async, whereas VID (at least VID2) displays page only once all stuff is downloaded. It has to change .... | |
Henrik 4-Nov-2008 [7897] | Pekr, you are still thinking in terms of ordinary webpages. That's shortsighted. :-) |
Pekr 4-Nov-2008 [7898x2] | OK, so what concept do you actually envision for so called REBOL browser? :-) |
Kind of Flash, Silverlight? Rich, media apps? | |
Henrik 4-Nov-2008 [7900] | Pekr, let's say you want to read a blog post on a "rebpage". Would you want to download a rebpage, formatted as a webpage from that location or would you want to get a custom fullscreen reader that downloads only the compressed plaintext as makedoc format, compiles it on the fly and displays it? |
older newer | first last |