AltME groups: search
Help · search scripts · search articles · search mailing listresults summary
world | hits |
r4wp | 1023 |
r3wp | 10555 |
total: | 11578 |
results window for this page: [start: 8401 end: 8500]
world-name: r3wp
Group: !REBOL3-OLD1 ... [web-public] | ||
Henrik: 29-Apr-2009 | Ladislav, I'd like to make your article on Identity into a cookbook recipe, so it gets an official listing in the cookbooks list, so people can find it. Where do you think it would fit on this page: http://www.rebol.net/cookbooks/ | |
BrianH: 29-Apr-2009 | Remember what puppies can be trained to do :( | |
Maxim: 29-Apr-2009 | I've suffered of trying to get rebol INTO companies and it never works. there is too much ground work to do, it costs a lot of money. | |
shadwolf: 29-Apr-2009 | yes we can :P YES WE CAN :P and i'm sure all of them will really like to do it ;P | |
Maxim: 29-Apr-2009 | Ever tried to use rebol in a company that has only .net, python, or java code? good luck. it takes weeks before you can use most of the DB stuff they have built up, because there are sooo many modules out there, and they have huge frameworks, which actually DO more stuff than rebol . rebuilding those libs is not even always possible.... | |
Maxim: 29-Apr-2009 | maybe, as a helper for explicit flat record handling we could add a really simple func which returns true/false for complete records. its not that its hard to write, just that its cleaner if we all use the same func for it. what do you think? | |
BrianH: 29-Apr-2009 | If someone needs partial record detection, they can do it ahead of time. We're trying to make REBOL only generate errors when it's useful to do so. It was not deemed useful in this case. | |
BrianH: 29-Apr-2009 | Not the same thing. If you have skip > length of the series, it will only do one iteration and your access to the results off the end will usally be none, unless you constrain it yourself. The question is whether negative skip should be silently constrained or generate an error, as a general rule. | |
Maxim: 29-Apr-2009 | but functions like insert are a bit simpler to use with 0 based, since a length is used as the value past an item in a series not the last character in it. they both have advantages. but trying to explain to someone that an index of 0 moves backwards isn't very obvious to promote as a feature ;-) I'd have trouble justifying this to my kid which is learning to do math :-D | |
Pekr: 29-Apr-2009 | I have difficulcy to get Chat files. I do nf, to list new files, then I submit get * but nothing is synced. I try other aproach, going to e.g. R3 mezzanines section, and doing get * does either report, that there was no change to files, or that my local copy is changed, and hence it can't be synced. I am sure I did not do any local changes here ... So - how do you usually work with Chat file facility? | |
BrianH: 29-Apr-2009 | If I want to keep local versions to compare to I keep them in another directory, then compare to the changes made by others. I only need to do this when I am working on the same file that others are working on, usually a sign that there is too much in the file (it needs to be broken up), or that I need to do a better job of talking to the other person. | |
BrianH: 29-Apr-2009 | 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? | |
Henrik: 2-May-2009 | 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. | |
BrianH: 2-May-2009 | 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. | |
Maxim: 5-May-2009 | maybe, but STL already allows us to do 3d object things like inverse IK for games or 3D modeling applications ... that is what one of the engineers was using to build plugins for Maya. | |
PeterWood: 6-May-2009 | The following session shows that launch does not effectively run a script as a separate process and return immediately. >> ans: "yes" == "yes" >> do [ while [ans <> "no"] [ans: ask "(l)aunch, yes or no ?" if ans = "l" [launch %launched.r]]] (l)aunch, yes or no ?l Checking for rebol.r file in /Users/peter/Desktop/Rebol3/ Checking for user.r file in /Users/peter/Desktop/Rebol3/ Evaluating: /Users/peter/Desktop/Rebol3/launched.r launched script Do you want to continue running the launched script?yes yes Do you want to continue running the launched script?yes yes Do you want to continue running the launched script?yes yes Do you want to continue running the launched script?no no (l)aunch, yes or no ?y (l)aunch, yes or no ?y (l)aunch, yes or no ?no == none The source of %launched.r is: REBOL [] print "launched script" ans: "" while [ans <> "no"] [ print ans: ask "Do you want to continue running the launched script?" ] | |
BrianH: 6-May-2009 | Similar to R2, though the errors start disarmed and need to be armed with DO. CAUSE-ERROR wraps this. | |
BrianH: 6-May-2009 | You'll have to wait for multiple-dimension vectors before we do matrix operations :) | |
Steeve: 6-May-2009 | so i keep the tuples to do vector operations. 1.2.3 * 5 = 5.10.15 but it's quite limited | |
BrianH: 6-May-2009 | Steeve, the basic math operations generate new values, they don't modify in place. This cold cause a lot of memory overhead. Modifying operations might be better to do as functions, perhaps even native functions loaded in plugins. | |
Rebolek: 6-May-2009 | It's not exactly true that they didn't worked at all. I was able to do drum and subtractive synthesis plus AIFF/WAV loader/saver with vectors. It was just NOT easy :) | |
Sunanda: 6-May-2009 | Brian --- R3-alpha is archived on REBOL.org, for world-members only (ie the same read rules as the AltME version itself). So good news -- we have a persisent archive of that world: no need for Rebolek to rush But bad news -- not many people can see it -- so any gems do need to be ported to more visible locations. | |
Louis: 6-May-2009 | How do I fix this: Couldnt get a file discriptor referring to the console. | |
Steeve: 14-May-2009 | bah... to be honest, i can do the job using another tricks, it will be less elegant... | |
Maxim: 15-May-2009 | continuing discussion in I'm new group... brian: no R3 chat account yet... its basically that I'm keeping my energy. I really would love to participate more in R3 but since most of what I do is commercial (REBOL), time invested in R3 is severely lost in the short to medium term. but I think its now progressed enough that I really should participate more. I think I have a lot of insight to bring to the table since I'm one of those few developpers who has been using REBOL commercially for just about ever, I've been using a module clone for the last 7-8 years, built 4 complete view engines (even ported glayout to python ;-), implemented some of the largest apps (code wise), and have several dozen REBOL APIs under my belt. | |
Maxim: 15-May-2009 | this can be a big discussion... want to do so privately? | |
BrianH: 23-May-2009 | The "new evaluation model" of the command! type is what I find most interesting. That would be the only way to do other forms, but there isn't enough info out there to know whether it does. | |
Paul: 24-May-2009 | Wait a minute - Carl's method is simple things should be simple to do (STSBSTD). A longer acronym. | |
shadwolf: 27-May-2009 | i think i will do that anyway since it's so usual way to handle chatting | |
Steeve: 28-May-2009 | Actually, the first optimization i do in my scripts which need speed and low memory usage, is to remove all the reduce and compose usage. It's always the first thing i do | |
Steeve: 28-May-2009 | See this line of code i do to rebuild a draw block in area-tc (it's called thousand times when the style is scrolled) out-style: insert insert insert insert insert insert insert insert out-style 'pen color/2 'fill-pen color/2 'box as-pair abs-x 7 as-pair (f/x * length? str) + abs-x 7 + f/y 3 Insane ;-) | |
Pekr: 28-May-2009 | Brian - what needs to be implemented for utypes? Do you think we will get them for 3.0? | |
Pekr: 28-May-2009 | As for 4) - I know you guys find them important (utypes). But what will we gain having the ability to do our own datatypes? btw - having own datatype will have to fulfill some needs, as for e.g. utype will have to be able to react to some functions? | |
BrianH: 28-May-2009 | I'm not saying that unset! values in an ANY or ALL is one of those cases where there would be benefits, just that it might be. Benefits like being able to use functions like PRINT in ANY or ALL without having to do tricks like (print 'hello true). If errors would be more common than beneficial code, then generate errors. | |
Dockimbel: 28-May-2009 | It's hard to say in advance if it will do more harm than good. Unset! values can be generated from various semantic rules, I think it's quite touchy to consider that all these cases are equivalent without exhaustively listing all ways to get unset! values and see one by one if the proposed change would impact it in a positive or negative way. | |
BrianH: 28-May-2009 | Bug #564 and option 2 were the result of the last time (January) we decided on a consistent treatment of unset! values: - As an error in value contexts, like assignment, function parameters that don't explicitly support it. - As a noop in control contexts, where the value would normally be thrown away, like DO blocks. ANY and ALL were added to this group. | |
Steeve: 28-May-2009 | i don't see your point, if i want a binary serie of the internal data of a vector, it's to do all sort of operations we can do on binaries | |
BrianH: 28-May-2009 | No, I want to protect the vector from *bad* modifications. That's easy to do, as long as you *don't* do type aliasing. | |
BrianH: 29-May-2009 | Quick discussion needed, and here because more people need to chime in: There is a proposal to change the name of the MAP function to MAP-EACH. Here's why: - There's a map! type, and this function is unrelated - except in CS theoretical terms, which is why we suggest the name MAP-EACH. - The other functions that have the name of a type without the ! are constructors for that type. The map! type could use one. - This function is behaviorily one of the *EACH family already. - This is *not* the functional language map function, and it might be good to emphasize that... In functional languages, functions like map take functions as parameters. However, such languages tend to be compiled and the function values they take are constructed ahead of time. Since REBOL is interpreted and functions are created at runtime, that kind of code pattern tends to be inefficient. That is why REBOL control and loop functions tend to take blocks instead, and have any argument words to those blocks as a separate parameter: It's much more efficient that way. There is precedent: The REBOL function that corresponds to the functional-langage filter function is REMOVE-EACH. We ask this question now because now is the time to make the change, if ever. Not many functions in R3 use MAP yet (the only one I can think of off the top of my head is LOAD). This will change when we do a hand-optimization pass of the mezzanines, and it will definitely be too late once we hit beta. What do you all think? Please chime in in the next couple days if you can (and have an opinion). | |
Janko: 29-May-2009 | My vote: I don't want it to be called MAP because of reasons you named.. anything reasonable else is ok... I can't decide if I like map-each remove-each *-each ... naming convention... just thinking outloud.. 1) you named fold/reduce accumulate ... if you name map/filter in similar vein they could be something like map -> transform translate alter apply ? remove-each -> filter purge ... 2) common to these functions is that they take a block of code (and a series) ... each hints about the serries but maybe more specific about them is first part - block of code (function in classic functional).... one idea for the common word that hints about do something with block of code as a rule IMHO is with map -> map-with , transform-with , ... ; remove-with filter-with purge-with ; fold-with ?? | |
BrianH: 29-May-2009 | The only reason the *EACH makes sense is the word parameter that comes first: foreach x data [code] -> For each x in data do code remove-each x data [code] -> Remove each x in data if code map-each x data [code] > Map each x in data to code | |
BrianH: 29-May-2009 | Steeve, other languages that use the * convention use it differently from each other. C-like languages use it for pointers. REBOL uses it for keeping the original definition of redefined words, like COPY* (not for pointers or references, Maxim, because those are implicit). The only language in major use that uses * to mean do-many-or-all is Regular Expressions. | |
Janko: 29-May-2009 | Steeve .. do you say this to me because of find-each :) .. I mean a fing that uses block of code to determine what to find .. like: find-each x numbers [ x > 3 ] ... in same manner as map/fold/filter work | |
Janko: 29-May-2009 | I use map reduce and seek at jsgoo and I can do a lot of stuff with those (an appy inject for dictionaries) .. let's say you want to check if users with username and password exists in a block of users: find-each U users [ all [ equal? U/user user equal? U/pwd pwd ] ] ... much cleaner and more error prone than with foreach IMHO ( and these functions show intent of why you are looping through block of users ) | |
Janko: 29-May-2009 | if I would care only for efficient I wouldn't be using compiled languages anyway .. sometimes it doesn't matter that much .. I like map/fold because they cleanly express what you want to do , you don't have to setup and update temp variables and they are expressions ( they return result) | |
Pekr: 30-May-2009 | Above reminds me - does our parse enhancement proposal contain request to continuous (streamed) parsing? I can imagine parse being fast enough to have REBOL level codecs. But surely I don't want to read/part manually, nor do I want to read 1GB of video into RAM, just to find out, what the codec is :-) | |
BrianH: 30-May-2009 | Pekr, the reason for R3/Plus is so we don't have to say no to people's requests for new functions, but don't want to bloat REBOL. With modules we don't have to make everything monolithic anymore. We have a new situation with R3. The main advantages to having functions built into REBOL: - REBOL itself can use them. - You can count on them being there. - They will be tested and reworked by the best of the community (the REBOL optimizer). The main disadvantages to building functions into REBOL: - Increases overhead, both in startup time and memory overhead. Compare R2 /Base to /Core to see what I mean. - Predefines more words. - These might not do what you want, so you'll end up redefining them anyways. Building a community is a balancing act. Once we started taking requests for new features to make REBOL better, the floodgates opened. Even after filtering out the impossible or otherwise bad ideas, there was a lot of good stuff in there. But we don't want to bloat REBOL into Perl. Fortunately, we had added modules to R3 to help organize the code and deal with the last two disadvantages to building in functions. And we have DevBase to accept community contributions. These are all the infrastructure we needed to create a standard library, tentatively called R3/Plus. So now we don't have to worry about accepting requests for new features, because we know how ruthless we are going to be about our mezzanine cuts. If REBOL itself uses the function, it either stays as a mezzanine, or in some cases goes native. If the value of the function for users is high, the overhead is low, and there is consensus, it may get to stay too. Otherwise they become library functions. FUNCTOR wasn't the first cut, and it won't be the last. Keep in mind that with plugins, library functions can be native too. And the REBOL optimizer still applies. And with modules you can declare your dependencies. There's very little downside to having R3/Plus. | |
Pekr: 1-Jun-2009 | Ah. What will be the model to "simulate" R2 DLL capabilities? Ladislav suggested bunch of enhancements. Should we do R2 DLL kind of interface as one of plugins? | |
BrianH: 1-Jun-2009 | Doc and I decided that the "block" severity would refer to bugs that are stopping development, or the fixing of other bugs. There is only one bug with that severity now: DO/next. The system/user/home replacement is almost there too. | |
Carl: 1-Jun-2009 | Maybe we need DO string! to error out with a message: "old fashioned char-based coding is not allowed." | |
BrianH: 2-Jun-2009 | We discussed adding one, but everyone wanted the function to do something different. No consensus. | |
BrianH: 2-Jun-2009 | What types do you want to flatten? Just blocks, or other block types? | |
BrianH: 2-Jun-2009 | Yeah, it's a good candidate for /Plus. The problem is that whenever the need occurs, what it needs to do is slightly different. Flexible semantics like that lead to a slow function - which is a bad thing for a mezzanine or library func. | |
Carl: 2-Jun-2009 | That is so true: "everyone wanted the function to do something [a little] different". So, the question always becomes: what is the most common pattern, and how common is it really? Difficult to know, especially when you start thinking about adding reduce or compose into it. | |
Carl: 2-Jun-2009 | R3 Chat #4395: Re #1890: Question on DO/next: currently, it returns a block as a result. That means it must allocate a new block each time. An alternative would be to provide a variable name as an argument, and it would not need to allocate a new block each time. result: do/next block1 'block2 It would also be possible to: result: do/next block 'block Something to think about. | |
BrianH: 2-Jun-2009 | It would matter to me. If DO/next were more efficient, I would not consider use of it to be a sign of a bad function :) | |
BrianH: 2-Jun-2009 | When I saw that number coming up, I had to do something appropriate there :) | |
Carl: 2-Jun-2009 | See R3 Chat #4403 regarding how to get new R3 to test DO/next. | |
Maxim: 2-Jun-2009 | its an object within an object, so I am thinking it has something to do with binding. | |
Chris: 2-Jun-2009 | 'do/next - I use it in a function as a subverted version of 'case. Perhaps if that's a bad function, there is an alternate way to implement it? | |
shadwolf: 2-Jun-2009 | next ask is do you think somthing like colaborative "at the same time" could be possible to do with R3 for example hum lets be crazy in futur viva-rebol IDE offers a way to make several ppl working on the same project at the same time use the viva-rebol IDE and sharing in real time information | |
Chris: 2-Jun-2009 | Might be easier to do with parens instead of do/next, but the case-like construct is more readable... | |
Pekr: 3-Jun-2009 | IIRC there was a blog what to do with money! datatype, and if the datatype should be more "complex". That is still not resolved. | |
Henrik: 3-Jun-2009 | In school, units were always encased in [], such as 5 [m / s]. I think it's possible to do something similar in REBOL. | |
Pekr: 3-Jun-2009 | BrianH: but I somehow have to distinguish usertype from e.g. decimal? So how do I do it? And how does REBOL's interpreter know it is mytype? How do I match it in parser for e.g.? Any example? | |
Ladislav: 3-Jun-2009 | BTW, what do you think about the END! datatype? is there really a reason, why it has to be "exposed"? | |
Ladislav: 3-Jun-2009 | I do know one use for the END! datatype, but am not sure, it should be "exposed" this way, taking into account, that it is an "implementation detail" in fact. The same applies to handle! and frame! or e.g. the symbol! datatype n earlier interpreter versions. | |
Maarten: 3-Jun-2009 | do/next matters to me, but, I don't count for language features (Carl put me in the 0.1% basket ;-) What I would like is a "break out"of a block much like throw, that allows me to re-enter even in nested blocks. | |
Maarten: 3-Jun-2009 | I think a closure over the evaluation with an "into" would do it. It is easy to see parse with into do this. | |
Maarten: 3-Jun-2009 | Brian, parse uses tables (at least last time I checked on compiler construction ;-) so it shoud be a easy to do. If I have at/deep or so, I can creat a new head and build a stack of traversed parse rules. Actually that would represent the table. Which means I could do this today. And I can wite at/deep by using some recursion. Thanks! | |
Janko: 3-Jun-2009 | BrianH: I won't be able to make an example (and maybe it's not possible now) .. but I was asking because of this maybe stupid idea for "poor mans continuations" that are built on top of language as a lib (because of rebol powerfull treatng of itself): - you have a function >>myfunc: func [ a /local b ] [ b: 5 return-cont a + b ] << - at runtime when function is called you reach return-cont which: - you collect all it's local words and their values into a block (with stack/args etc) for example [ a 1 b 5 ] - you also get current position of a running block (already seems to be possible with stack/block + next ) [ a + b ] - you generate a function at runtime that has >>does [a: 1 b: 5 a + b ]<< - you return taht function as a normal return value. this means that this would be possible: >> cont: myfunc 5 ... do some stuff >> cont == 6 any thoughts :) ? | |
Janko: 3-Jun-2009 | do you need continuations to have coroutines? | |
BrianH: 3-Jun-2009 | do you need continuations to have coroutines? It depends on the system - in some cases it is the other way around. | |
BrianH: 3-Jun-2009 | Janko, you can have cooperative scheduling of real threads - all they have to do is cooperate, as long as a thread can pause. | |
Steeve: 3-Jun-2009 | it has nothing to do with the lexical analyser, we just need a new data type, to construct computed variables | |
Maxim: 3-Jun-2009 | but I would like a way to get invalid tokens loaded as invalid values... that way I'd use block parsing . so far, I've been using string parsing about 90% of the time. its a shame, since I'm loading stuff much more slowly than rebol could let me do it using its native loading. | |
Steeve: 3-Jun-2009 | yes i can do it with OOP, but i don't want to have to code stupid things like my-var/set, my-var/get | |
Maxim: 3-Jun-2009 | the accessors are just events... you have to know WHEN and WHAT to do with a variable... It would be fun if generic objects allowed us to set accessors per instance, just like python allows it, but alas, Carl doesn't realise just how often this could be used to simply a vast array of code. | |
BrianH: 3-Jun-2009 | Oh, the unit syntax. There would be limits to what you could do, but the principle is sound. You probably wouldn't be able to do 1". | |
BrianH: 5-Jun-2009 | If we do these as mezzanine with the full R3 *EACH word and set-word syntax these become big functions, similar in scope to my R2-Forward MAP function. If we limit the words to the word! type it becomes much easier, but still with more overhead than ANY and ALL. I had put off working on these for months because I thought DO/next was needed to implement them, but I've just realized that it isn't. | |
BrianH: 5-Jun-2009 | That would require a REDUCE or DO/next to use referenced data, and this function is too inefficient to use with inline data, as compared to the ANY and ALL equivalent code. These functions would only be worth using for large datasets, or otherwise their overhead would be too much. That is the problem ANY+ had :( | |
shadwolf: 6-Jun-2009 | I started a deep deep thinking process wich is a heavy task for an idiot biain of mine concerning the futur of viva-rebol and where i want to lead it. If you have a little interest for what i'm doing actually you know that i'm actually working on 2 projects viva-rebol and rekini. I'm interrested in transforming viva-rebol into a real time collaborative project. manager/editor something like wave but done in rebol to create rebol application. The idea that comes to my brain is to mix IRC and vivarebol. IRC would be the supplier for sharing real time documents content information and viva-rebol will be at the same time manager and the renderer that will catalise the informations collected by irc. Why irc? first because they have lot of control feature wich can allow anyone to join and see an onShared-creation docuiment or script and only look at it without active participation. That can allow a hierachy system with master, co-writer and only viewer. and the allow the master to select who participate or not to the création. We saw with area-tc that rebol and VID and the dialect concept was really feat to handle uncomon text handling at light speed so the appears clear for me that this is the next step to go. Some people will say to me "but it's more important to have an advanced rich text editor tool" which i answer that boring to do and in the result the gain in notority for rebol is close to 0. So instead of clonning MS-Word using VID I prefere move to the next step wich I hope will lead us to make people see all the potential of rebol. It took me looooooooooong time (6 years in fact) to see how to merge all the interresting part of rebol to make a big project wich we could be all be proud of and show all the interesting part of rebol. Our comminuty is small and working together to make advance the projects is obvious if we want our project to be recognised in some way. If we all work on our sides on our own project achieving a high quality for those projects is hard. So externally we only show to the world project that looks more like teasers than completed project and that not a good thing for rebol promotion. We can say all we want about the way rebol is done by Carl but us as community which goal is to spread rebol world wide we have a part of reponsability in that too. | |
shadwolf: 6-Jun-2009 | but if you want a persistant extension of that making an irc bot that collect all the project worked with the viva-rebol online feature and making the bot publish them on web that's easy to do. | |
Henrik: 9-Jun-2009 | You do it once. After that, do you expect to receive thousands of messages per sync? | |
Ladislav: 11-Jun-2009 | Please don't make it use scientific (E) notation. - so, what do you want to get from: 10% + 10% + 10% - 30% | |
Maxim: 11-Jun-2009 | I wouldn't rely on any kind of Gui expectations for a while in R3. AFAIK, a lot to do still. | |
Claude: 11-Jun-2009 | now this done - that why i ask for an upgrade of gui-load and demo and to do it also for other version like linux. | |
Maxim: 12-Jun-2009 | I'll be using modules if possible. an earlier version of R3 just crashed when trying to allocate a single node... we'll see. is there a page which explains various optimisations one can do to R2 code to allow it to take advantage of newer and faster functions in R3? | |
Henrik: 12-Jun-2009 | Maxim, so many things to do. Can your super brain handle it? :-) | |
BrianH: 12-Jun-2009 | In theory the module import list could be more complex, including particular imported words (the relevant function is DO-NEEDS). The current model is focused on being enough to keep us going with our modularization of the system. We intend to refine the model after enough real-world use has given us ideas for refinement. | |
BrianH: 13-Jun-2009 | Works for me: >> write %mod1.r to-binary "rebol [type: module] print 1" >> write %mod2.r to-binary "rebol [type: module] print 2" >> write %mod.r to-binary "rebol [needs: [%mod1.r]] import %mod2.r print 3" >> do %mod.r 1 Script: "Untitled" Version: none Date: none 2 3 Note that if you specify your Needs in file form, system/options/module-paths won't be searched. Any relative filename will be resolved relative to the path of the importing script. Does this affect you? | |
BrianH: 13-Jun-2009 | Do you know the R2 SDK source well enough to know whether the Needs header is handled by mezzanine code in R2? And where? | |
BrianH: 13-Jun-2009 | If you want the module to be referenced in the module registry so it doesn't get reloaded you need to do the word-based module style. | |
Maxim: 13-Jun-2009 | shared and distinct/copied modules should both be supported. right now I am not sure which one R3 does but, it doesn't provide the capabilities to do both, AFAICT. | |
Maxim: 13-Jun-2009 | strange bug... If I only do %vprint.r3 in the module and try to use a function from vprint, I get an error: vprint loaded ** Script error: von word is not bound to a context ** Where: do applier make if import catch if either either do begin do ** Near: do body obj vprint loaded is a probe statement executed within the vprint.r3 file | |
Maxim: 13-Jun-2009 | If I get this, it means that DO is always global, and the only way to trap it, is for the module to isolate the global context from any code it executes. | |
BrianH: 13-Jun-2009 | No, DO is always relative to the current context and there is no global context. And you can switch current contexts, though that mechanism isn't fully implemented yet. | |
Janko: 13-Jun-2009 | I know R3 will have threading ... this is some video that digs into pythons implementation .. and shows how not to do threading mostly ... http://blip.tv/file/2232410 | |
Sunanda: 13-Jun-2009 | Thanks.Ladislav....I don't particularly mind _why_ R3 is incompatible with _R2_. Forward compatibility would have been nice, but that discussion ended long ago with the decision not to be. What I think we need now is to start work on a migration guide, so we do not all need to stumble across the gotchas.....It may also help debug R3 [some reported changes may turn out to be accidental and fixable]. Hence my question about where would be a good place for us to start sharing migration hints and tips. | |
Maxim: 13-Jun-2009 | I don't even understand why you'd want to do so... its exactly like forcing a reduce everytime you copied a block. |
8401 / 11578 | 1 | 2 | 3 | 4 | 5 | ... | 83 | 84 | [85] | 86 | 87 | ... | 112 | 113 | 114 | 115 | 116 |