AltME groups: search
Help · search scripts · search articles · search mailing listresults summary
world | hits |
r4wp | 5907 |
r3wp | 58701 |
total: | 64608 |
results window for this page: [start: 53101 end: 53200]
world-name: r3wp
Group: !REBOL3 ... [web-public] | ||
Steeve: 10-May-2010 | What about a polymorphic function ? if=: func [:sw :gw :op val][op: get op gw: get gw if (gw op val) [set sw gw]] >>a: 1 >>b: 5 >>if= a: b < 10 == 5 >>if= a: b < 5 ==none | |
Ladislav: 10-May-2010 | (and behaves in a little bit different way) | |
Steeve: 10-May-2010 | the same goes for R2, a little different though... | |
Steeve: 10-May-2010 | but honestly i don't see the gain with that mezz. if b < 5 [a: b] ...is short enough and syntaxly less obfuscated. | |
Paul: 10-May-2010 | Steeve also your last expression should this if your trying to capture the same mezz if a < 5 [b: a] | |
Ladislav: 10-May-2010 | Paul, aha, you do not like the prefix form, and insist on the infix form you wrote. Then I have a surprise for you: it isn't REBOL Do dialect, since the Do dialect does not allow the infix op to take more than two arguments. Nevertheless, you are totally missing the point stating, that it would require changing the tokenization - that is patently wrong. | |
Paul: 11-May-2010 | Sure it would be - just do a TRACE and you will see that it has to be changed. Do evaluates - it has to be supplied the correct structure in order to evaluate correctly. | |
Andreas: 11-May-2010 | Paul, you want `b: a < 10` to roughly behave like `b: either a < 10 [a] [b]`, if I am not mistaken. | |
Andreas: 11-May-2010 | If so, such a change would neither affect tokenization nor parsing in any way: That's immediately obvious when you consider that `b: a < 10` is just syntactic sugar for `set 'b lesser? a 10`. You surely will have no troubles to write appropriate `my-set` and `my-lesser?` according to your desired behaviour. With that done, the only change necessary to implement this as default behaviour in REBOL is to use your set and lesser? (etc.) implementations instead of the current ones. Tokenization and parsing needs not be touched. | |
Paul: 11-May-2010 | It could also be: b: a - 3 > 11 | |
Andreas: 11-May-2010 | Again, `b: a - 3 > 11` is syntactic sugar for `set 'b greater? subtract a 3 11`. | |
BrianH: 12-May-2010 | No change in syntax or parsing would be required. However, the DO's evaluation rules for the set-word expression *would* need to be changed. Note that these evaluation rules are *not* performed by a parser, so changing parsing would not be required, Paul. However, this change to the evaluation rules of the DO dialect would be so fundamental that we would essentially be changing the semantics of the language to that of another language. And that other language would resemble Icon more than it would REBOL, semantically. And changing the behavior of the SET, LESSER?, ... functions would not be enough because DO doesn't actually call those functions directly - it calls internal code, which may or may not also be called by those functions. But this is not a problem, because at least you wouldn't have to change the parsing. This means that all you would have to do is write your own evaluator and pass the code to that instead of DO. And create new versions of all the functions that call DO internally, behaving the same but calling your DO replacement instead. And create a context to reference those functions, and bind to that context instead of the standard system context. Basically, all you have to do is create a new dialect on the scale of the DO dialect, using the same REBOL parser, but different semantic rules. | |
BrianH: 12-May-2010 | `b: a - 3 > 11` is *not* syntactic sugar for `set 'b greater? subtract a 3 11`, instead it is sugar for the internal code that those functions call. So changing the meaning of those functions wouldn't be enough. To really make the change, you would have to replace DO. But not completely, because all of our code depends on DO remaining as it is - so you would need to make a new sort-of DO-like dialect that would be used in addition to DO, for those circumstances where you need this semantic model. Just like any other additional dialect, really. | |
BrianH: 12-May-2010 | On the other hand, if you want to change DO's behavior to this, then it would require you to create a *new* language, with the same parser as REBOL, or one that is completely compatible. Basically, an incompatible REBOL clone. It would be hard to use the same parser though because the existing runtime code depends on the current semantics, so you'd have to replace that code too. | |
Ladislav: 12-May-2010 | (do not forget, that it would require a nonnegligible effort, from me, which I can use for more sensible purposes) | |
Maxim: 12-May-2010 | pekr... stripping view out of core and making it work again is probably the most complex task Carl has had to do since he's been working on R3. it means he has to formalize quite a few of the core as official APIs which he didn't need or intend to do at first. He didn't *design* the core with view extraction in mind. it was a far distant goal... as in "someday we could extract view and make it an extension". | |
Maxim: 12-May-2010 | other things have been tedious work, but more linear and just implementation (unicode support comes to mind here) ... extracting view is all about breaking things, and making them work again. adding bridge code, making sure once internal code is safe for use by the outside. carefull planning of design so its improvable. Correctly naming things which internally didn't have to be named so specifically. these things really are a lot of headaches cause there are a lot of decisions to be made which have dire and far reaching consequences. its not just a question of "does it work". | |
BrianH: 12-May-2010 | Claude, the R2 mezzanine source, including PARSE-XML, is in DevBase (aka R3 chat). It shouldn't be too difficult to adapt it to R3, for a library module. It would probably be a bad idea to include it in R3 as mezzanine though: History has shown that most people don't need to parse XML, and the ones who do usually need to parse XML differently from how PARSE-XML does so, and differently from each other as well. This kind of situation is what the module system and community libraries are for :) | |
shadwolf: 13-May-2010 | and rebol would be the perfect match for a light weight extensive os like meegoo more the time pass and more the oportunities to make rebol find it's way out are wasted one after other | |
shadwolf: 13-May-2010 | the actual big rush in computing area is all in one webrowser no such deferencies like local or distant applications will exists anymore and in a way rebol/desktop was pioneer in that scope | |
shadwolf: 13-May-2010 | but at same time what happend in R3 project is somewhat some of the coolest thing I ever seen a true complicity is rising between carl and rebolers. unfortunatly that's not the kind of things easy to communicate around. but yes 3 years of alpha stage because the reboler community really involved in the creation bringing at every steps their comments etc ... so it's arsh to say that's a fruitless tree of efforts | |
Graham: 13-May-2010 | Which makes me wonder about this separation because there's always been a core product | |
Pekr: 13-May-2010 | View was not developed by Cyphre. Original View was developed in-house, by Jim Goodnow (Carl's friend from Amiga days (author of Aztek C, or something like that). What Cyphre did was adding AGG in there. Cyphre often tested AGG functionality in form of a DLL, externally then Carl patched it in into View IIRC. | |
Gabriele: 13-May-2010 | Petr, being separate as a separate binary is a different concept than being a separate module in the code. View has always been "optional" even in R2. Having it as a separate binary means that you need a way to "load" it, and that's not trivial if the external part has to be able to call in to the internal part. | |
Gabriele: 13-May-2010 | this is a lot of things to change in the code, but I disagree it's a big difference design-wise. | |
Gabriele: 13-May-2010 | R3's View has always been "external" in the sense that it was in the host side. I have seen its sources. the interface between host and rebol dll (core) has gone through a couple redesigns (starting with the Unicode changes), but in principle View has always been "separate". | |
Gabriele: 13-May-2010 | so my point is, a lot of code changes (due to C not being a very nice language from this point of view), but the design itself is not going to change very much IMHO. since Carl is a perfectionist, he won't release a host that is just "half done" or something like that. | |
PeterWood: 13-May-2010 | I was surprised that the ++ function returns the value before the increment. I believe this is counter intuitive especially when in C-type syntax ++ as a prefix increments the value before it is used as opposed to ++ as a postfix where the value is implemented afterwards. So ++ i in REBOLl is equivalent to i++ and not ++i. | |
Maxim: 13-May-2010 | Gab, yes I actually have some secret little links into the batcave ;-) but I don't have specific details beyond the fact that he is commited to the view extraction and that its not a piece of cake. the rest of my comments really are just by obvious architectural analysis and having tried to plug into the core myself and realizing how much is still missing to provide an integrated GUI which cooperates with the core. even the event/device/messaging system isn't totally usable externally right now. the command! concept is being rewritten from the ground up so it supports some kind of contextualized operation (could this be the basis for callbacks into the core? :-) and when I mean design changes, Its realy things like: before we could call an action directly within a face... there is no callback procedure in R3 hostkit beyond running a string in the global context. there is no object/function support in the extensions, cause that opens up a big can of worms (and some secrets into the interpreter's operation?). the current R3 relies on the protection it has living within core, now, Carl will have to open up the core a lot so that he can plug back into it, and yes, since Carl is a perfectionist, he won't allow that openess to be a security risk or half-assed solution. | |
Maxim: 13-May-2010 | the command! rewrite was exposed by Carl a while back, Brian can probably give more precise details. | |
BrianH: 13-May-2010 | PeterWood, when ++ and -- were originally proposed, I called them INC and DEC. They changed to the C-like naming later. The behavior is good, but the names confuse the very C programmers they were supposed to be a shout-out to. | |
BrianH: 13-May-2010 | Same here. Especially since the other half of my proposal was INCREMENT and DECREMENT functions that did the a: a + x operation. But that ended up being too many characters for something so simple. | |
Maxim: 13-May-2010 | ok, since post fix are usually unary operations I don't see that as a limitation. | |
Maxim: 13-May-2010 | yes I can see that there would require a little change in the op! datatype to let do know how to handle values before & after, but the dialect itself isn't limited in the sense that it couldn't be modified... just being curious for discussion's sake... not a request | |
Maxim: 13-May-2010 | a special use of R3 ;-) | |
BrianH: 13-May-2010 | Brian can probably give more precise details. - No, but perhaps a more precise guess. Currently a command! contains a reference to a dispatcher (handle to the extension, which contains an RX_Call function) and a selector (an integer). In theory, the implementation of a command! could include (or be) a bit of native code - that is generated at command! creation time - to call the dispatcher with the selector, and the address of that native code could be provided to an external native function for the native function to call. The native code inside a command! or its dispatcher would need some kind of synchronization stuff too, to manage the transition from external to internal process models. Or we could get a callback! type, which would have a GC-safe reference to that native code and the dispatcher. Either as the standard command! type or as a callback! type, when used as a callback the function would need to be GC-safe because external native code doesn't track REBOL heap references. Or we could end up with something completely different :) | |
shadwolf: 13-May-2010 | Peterwood not only C/C++ the ++ operand exists in most of the languages now in days compiled or interpreted... (python, perl, tcl/tk, ruby, java, etc...) most people want i++, instead of i= i + 1 but i always thought the right operand instead of "++" should be "=+" somthing like i=+ is in my opinion more explicit... Pekr; some time the Carl says things we can't understand and mainly cause we don't have a full view on the source code he is talking about... modular coding is obvious but you have several ways to realise it... puting preporcesor flag to include or not part of the code when you compile is one solution having them indeferent folders and binaries or libraries is another.. And that was always one of my biggest comment rebol wants to do all every where so it ends being weak every where and doing incompletly most of the things it pretends to do ... | |
Graham: 14-May-2010 | he can read the chat thru a browser .. no need to fire up r3 | |
Graham: 14-May-2010 | Hmm... Script Error: This script needs View 2.100.28 or better to run correctly So, why does a console app need view ? | |
BrianH: 14-May-2010 | Graham: If I want to set something to the index of a series, or something else if it's not there I have to do this b: either a: find series var [ index? a ][ default ] when I'd rather do b: any [ index? find series var default ] So how about letting index? also take none as an argument ? | |
BrianH: 14-May-2010 | Cool, thanks! We can post a comment to the EMPTY? none blog mentioning this ticket as well :) | |
BrianH: 14-May-2010 | Done. Also tweaked the ticket to be more specific, and added a comment in favor of it. | |
Steeve: 14-May-2010 | I can make a prediction, Gradually, other functions will be modified to propagate the value # none instead of returning an error. This is only the beginning. | |
Graham: 14-May-2010 | I hate having to trap for errors when I always have a default behaviour | |
Steeve: 14-May-2010 | Currently, just a bunch of natives have been tweaked in that sense. remove, take, (and some other i can'"t remember now). But there is no reason to restrain the invasion of the pass-thru behavior. Indeed, just stop the propagation when a control flow function is reached :) | |
BrianH: 14-May-2010 | Not systematically yet, but yes on an ad-hoc basis for a few years now. Even during the GUI design phase before the first 2.100 public alpha. | |
BrianH: 14-May-2010 | The real problems blocking systematic fixing of awkward code is: - A lack of a large enough set of R3 code to examine. R3 is already different enough from R2 that the code isn't comparable in this way. - Not having metrics for "awkward". We've been eyeballing it so far, and meijeru and I have been the most systematic about that approach. | |
BrianH: 14-May-2010 | But we've made a rather large set of changes to R3 already that fix most of the R2 awkwardness. | |
BrianH: 14-May-2010 | APPEND is a modifying operation. This is an excellent example of where the propagation should stop. | |
Maxim: 14-May-2010 | did you know rebol has a fantastic thing called.... a function? and yes... you are allowed to write these !! ;-D | |
Steeve: 15-May-2010 | well, 'include is a polysemic vocable, not the best choice. | |
BrianH: 15-May-2010 | Yeah, discouraging that use in R3 is a good reason to call the function INCLUDE. | |
Steeve: 15-May-2010 | Sorry it's a term I like to use in French and I just googled a traduction. | |
BrianH: 15-May-2010 | No, I usually can't use words in conversation unless the person understands them. Most non-technical conversations fall apart when too many words have to be looked up in a dictionary - it breaks the flow. So, unfortunately, I don't often get to use cool words like "polysemic", and have to translate them to more accessible language instead. | |
BrianH: 15-May-2010 | But back on topic, we all know that Ladislav and Maxim have been using functions named INCLUDE to write their own code organizing or module systems over the years. But R3 has a standard module system already. We want to encourage people to use *that* module system, or to improve it if it isn't good enough for them. Code written for incompatible module systems is incompatible because of that, and thus can't easily be integrated or reused. This leads to fragmentation of the community code base, which we definitely *don't* want. Especially since the proposed standard library of community-provided R3 modules is supposed to be compatible with R3's module system, and each other. So we definitely don't want to reserve the word "include" for use by alternative module systems, because we don't want people to *make* alternative module systems for R3 unless they are compatible supersets of R3's module system, which uses IMPORT instead (different concept too). R2 is a different matter: We're already stuck with different module systems and incompatible code bases, and they have to keep working. Even if a R3-style module system gets backported to R2 (and it will be) it will have to be an optional addon. And if INCLUDE gets added to R3 as the opposite of EXCLUDE, there would be downsides to adding it to R2. We wouldn't be able to use it in any mezzanine code because the function would be overriden by Maxim's module system or Ladislav's non-modular code organization system. So INCLUDE probably wouldn't be backported. | |
Robert: 15-May-2010 | Do we have anything in R3 that equals PREBOL? I use this pre-processing quite a lot to include code (features), logos, colors etc. user dependent. | |
BrianH: 15-May-2010 | It's the next thing on my list to rewrite PREBOL to be compatible with R3's module system. The syntax should be a compatible superset, but the internals will be a lot different. | |
Ladislav: 15-May-2010 | Yeah, discouraging that use in R3 is a good reason to call the function INCLUDE. - if I understand you well, by "discouraging that use in R3" you simply mean, that you discourage to use a Rebol preprocessor in R3 (since my INCLUDE is just that). Then, I see it as inconsistent, taking into account, that later you expressed an opposite viewpoint. | |
Ladislav: 15-May-2010 | we all know that Ladislav and Maxim have been using functions named INCLUDE to write their own code organizing or module systems over the years. - I have to disagree with this. AFAIK, Maxim never used 'include as a name for that purpose | |
Ladislav: 15-May-2010 | So we definitely don't want to reserve the word include" for use by alternative module systems" - have to disagree, again. My INCLUDE is not an alternative to a module system - it is a preprocessor, as everybody using it knows. | |
Steeve: 15-May-2010 | Is that a contest ? | |
Ladislav: 15-May-2010 | It's the next thing on my list to rewrite PREBOL to be compatible with R3's module system. The syntax should be a compatible superset, but the internals will be a lot different. - hmm, reinventing the wheel? (my INCLUDE is already available from rebol.org library and it has the properties you listed) | |
Ladislav: 15-May-2010 | Ah, sorry, I forgot. I did not put it to Rebol.org, since there already was a simplified alternative from Carl, so INCLUDE for R2 as well as INCLUDE for R3 are only at http://www.fm.tul.cz/~ladislav/rebol/ | |
Gregg: 16-May-2010 | I'm conflicted. I can see the logic of Brian's INCLUDE (though still wondering if it should be a set operation), but I use Ladislav's INCLUDE heavily. For me, the important thing is that we all, Carl included, keep communicating and work to leverage community efforts. | |
Anton: 16-May-2010 | Yes, I have an old include system too, using the INCLUDE function name. It's hard to stop using it, unfortunately. I am quite ok to have a native INCLUDE added and to mean the opposite of EXCLUDE, however. | |
Anton: 16-May-2010 | Gregg, I don't use the set operations very often (but I still want them there), but I do conditional APPENDs quite often, and I miss a native function for it definitely. | |
Ladislav: 17-May-2010 | EXPLODE? Sounds as a good suggestion to me, if that name should be accepted ;-) | |
BrianH: 17-May-2010 | Sorry, I meant a modifying INCLUDE, as being the opposite of a modifying EXCLUDE. We had a long discussion about this. | |
BrianH: 17-May-2010 | UNION is non-modifying. EXCLUDE is currently non-modifying, but misnamed because of that (shouldn't be a verb). | |
BrianH: 17-May-2010 | Ladislav, I have no problem in principle with adapting some of the code in your include stuff to make a PREBOL superset with inherent support for R3's modules. However, if your preprocessor doesn't support collecting modules with R3's module syntax, then it's of no direct use to me for R3 code. And the great thing about a PREBOL superset is that #include is *not* a function, it's a directive. | |
Anton: 17-May-2010 | Hmm, EXCLUDING's not a bad way to avoid clashing meanings for EXCLUDE. | |
Anton: 17-May-2010 | A problem with INCLUDE is that it sounds like INSERT, but the functionality is APPEND (which is INSERT TAIL, ok). So what if we also want conditional INSERT ? I think we don't want it as often as APPEND, but it could be more flexible, allowing different positions to insert. | |
BrianH: 17-May-2010 | Is it really so bad to do conditional code with conditional code? We have IF, EITHER and UNTIL for a reason. They are not awkward. | |
Anton: 17-May-2010 | It's a pity if the reason we don't add convenient functions like this is just because we haven't found good names for them. | |
Pekr: 17-May-2010 | we have already weird naming conventions, e.g. in case of 'ajoin. So what about cinsert, cappend? ('"c" like conditional, or "a", to be compatible with 'ajoin) | |
BrianH: 17-May-2010 | Btw, "it's on my list" is more of a desperate cry for help nowadays. It's more of a "it's on my list to get done, because it's needed". Actually doing it myself is the last resort; getting someone else to do it is the preferred method. I'm more than happy to provide advice, but it's hard for me to budget time to program this myself. | |
Anton: 17-May-2010 | I was thinking of "cinsert" and "cappend" too. But note, "adjoin" is a normal existing english word, from Anglo-French "ajoindre". | |
BrianH: 17-May-2010 | That last resort seems to happen a lot though. | |
BrianH: 17-May-2010 | That's not a long list of people at this point, but at least it's not just one person :) | |
Ladislav: 17-May-2010 | The non-modifying version of EXCLUDE should be called EXCLUDING - for me this is as good as "EXPLODE", just a mess | |
BrianH: 17-May-2010 | Last 3 or 4 months. I've been averaging about 1 day a week in front of a computer. I spend more time in my car. | |
Pekr: 17-May-2010 | Then you need a laptom in your car .... :-) | |
BrianH: 17-May-2010 | I spend all my time solving problems now. My mind is what needs budgeting, more than time or money. A laptop in the car wouldn't help with that. | |
BrianH: 17-May-2010 | Ladislav, I don't really need to get into the naming mess. I have needed the functionality I described for the modifying INCLUDE and EXCLUDE for a long time now, especially as modifying set functions rather than just single values like ALTER. But I can continue to get by without. And it turns out that the set functions often need to allocate another series anyways, for hashing, so the modifying versions probably don't have enough of a benefit to be worth adding. | |
BrianH: 17-May-2010 | However, that doesn't mean that I would call your preprocessor INCLUDE in the standard distribution. We need a superset of PREBOL to *be* the new PREBOL. The functionality we are missing is the bare minimum that we need to make it useful for R3 development, so if we make a standard preprocessor it would have to have that feature. And if your %include.r is a better codebase to start with, cool. | |
BrianH: 17-May-2010 | Mixins in R3 often serve the purpose that #include did in PREBOL, but currently need to be loaded from files at runtime. We need a preprocessor in order to get the mixin functionality from embedded modules. This is what is needed to do the R3 equivalent of encapping (host builds). | |
sqlab: 17-May-2010 | Samsung announced a bada Developer Challenge developer.bada.com/challenge. How far away is a host-kit for ARM devices? | |
Graham: 17-May-2010 | as far away as it was a few months ago | |
Pekr: 17-May-2010 | I hope someone will soon post something on a more positive note :-) | |
Maxim: 17-May-2010 | Carl is working on bug-fixing, did two releases last week, and is working on extracting view from the core, which he has stated a while ago. What do you want Carl to do more? AFAIK, there is nothing "unknown" right now. we are simply waiting for Carl to finish this cumbersome task before any of the above *can* be done. so far, Carl has been telling us everything he's doing every step of the way. some things just take time. its not as if Carl is waiting doing nothing. He's been working his ass off tackling huge items on the list. Some of the very things you (and many of us) have been "complaining" about for years. | |
Steeve: 17-May-2010 | the atmosphere is a bit tense lately | |
Pekr: 17-May-2010 | the biggest problem is not the development, or the lack of thereof, but the lack of communication. I think that one short message per week or two on Twitter would not hurt :-) Just last two working days, I experienced the same - I am leading our corporate site roll-out to 8 branches abroad. Marketing managers involved. While I worked like mad for last week, I started to receive emails, asking for the status update - and that's it - ppl just want to plan a bit their things. When I explained other branches, what I am busy with, they stopped asking, and I will update them once per week, till I finish the job ... and that's it ... correct communications .... | |
BrianH: 18-May-2010 | You do realize that Carl went to a conference after a99, right? He twittered about it and everything. | |
Rebolek: 18-May-2010 | Is there some simple way how to extract values of one datatype (eg. string!) from a block! ? Something like filter [...] string! ? | |
Rebolek: 18-May-2010 | and is there a function like ALTER but that adds a value to a block if not present and leaves block as is if value is already present? | |
Henrik: 18-May-2010 | I think this was just discussed a few days ago in this group. Search for ENTAIL. | |
Rebolek: 18-May-2010 | I just see a lengthy discussion about that function's name... Nevermind, I wrote one myself already. It's faster than to use AltME's search. | |
Maxim: 18-May-2010 | INCLUDE. why is everyone dancing around this word. <sigh> this is what the word means. union is merging two sets. Including, means adding to a set. since a set is by definition a collection of unique items, I don't see what's the problem. | |
Steeve: 18-May-2010 | INCLUDE has the drawback to be already used for other purposes in computer languages (like preprocessor). We simply could peek a synonym, they are many. COMPRISE, CONSIST, CONTAIN, HOLD, CONTAIN, BEAR, CARRY, INTEGRATE. A short one if possible... | |
Steeve: 18-May-2010 | it has a sense of a contionnal action... no ? |
53101 / 64608 | 1 | 2 | 3 | 4 | 5 | ... | 530 | 531 | [532] | 533 | 534 | ... | 643 | 644 | 645 | 646 | 647 |