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: 10901 end: 11000]
world-name: r3wp
Group: !REBOL2 Releases ... Discuss 2.x releases [web-public] | ||
Gregg: 27-Nov-2006 | I believe the PE file format has sections that are padded, so it may be that the internal padding is different, as are the code segments, but the resulting EXE is the same size. I suppose you could do a binary diff to see. | |
ICarii: 27-Nov-2006 | do the timers exist in the win2.7.4 build or only the osx build? couldn't seem to find any relevant ? timer* info.. | |
Geomol: 28-Nov-2006 | In new 2.7.4 build for OSX: >> do http://www.rebol.com/speed.r ** Script Error: query has no value ** Where: halt-view ** Near: querying: to logic! query Is networking turned off or something? It seems, I can't run any script over the net with this latest 2.7 build on OSX. It works with old REBOL/View 1.3.2 Core 2.6.3 build. | |
Geomol: 30-Nov-2006 | Cyphre, so if you can do anything to get text support in DRAW (under OSX and Linux??) and also push Carl to have prober event handling (something I haven't reported yet with the new Mac version), I'll really appreciate it. Maybe the time is now, where his hands are on View for OSX. | |
Group: !REBOL3 Extensions ... REBOL 3 Extensions discussions [web-public] | ||
Oldes: 14-Dec-2010 | Do you know, if it's (or will be) possible to get struct! from handle!? | |
Oldes: 14-Dec-2010 | What if I expect float on the C side, but still want to allow to use integer from REBOL (using number!).. what's the best way to do it? | |
Oldes: 14-Dec-2010 | That's possible, but I was more thinking how to do it on the C side and not end with wrapper for each extension command. | |
Oldes: 14-Dec-2010 | I was trying to do just (float)RXA_DEC64(frm, 1) with integer value and it was not working. | |
Oldes: 14-Dec-2010 | Do you think it's better to export all commands in flat structure like: export System_GetNumDrivers: command[] export System_GetDriverInfo: command[id [integer!]] ... Or rather close them to contexts like: export system: context [ GetNumDrivers: command[] GetDriverInfo: command[id [integer!]] ... ] | |
BrianH: 14-Dec-2010 | For instance, in the AGG wrapper the commands that are used to implement the Draw dialect are exported in their own context rathar than globally, because they aren't meant to be called directly as functions. Other APIs may need to do the same thing for similar reasons. | |
Oldes: 14-Dec-2010 | Back to the name.. what if I export System extension context into main context, where is already System defined? Now it looks it just silently do not overwrites the existing one.. shouldn't it throw an error? | |
Oldes: 14-Dec-2010 | So do you want me to add CC ticket? | |
Oldes: 14-Dec-2010 | ok.. fine... so do you think I can safely use 'system' like exported names and believe, that if someone want's to use the extension, he will imported like: fmod: import %ext-fmod.dll to avoid conflicts and not: import %ext-fmod.dll ? | |
Kaj: 22-Dec-2010 | Then please give them some more work to do | |
Andreas: 22-Dec-2010 | Maybe something to do with the length of the init block? | |
Oldes: 17-Jan-2011 | It's quite clear, what it should return, when you see it in REBOL like form, but it's quite difficult to do such a decision when parsing the spec.. that's also the main reason, why I decided to work on human readable dialect. (I was trying to generate the extension directly, it's possible, but it seems to be hard to maintain.) | |
Oldes: 25-Jan-2011 | I'm using this piece of code to get pointer to binary argument: char *srcData; REBSER *ser = RXA_SERIES(frm, 1); srcLen = - RL_GET_STRING(ser, 0, (void **) &srcData); But also must do this: srcData+=RXA_INDEX(frm,1); To fix the pointer to correct position if the source binary index is > 0. Is this a bug or is it normal? Should it be reported in CC? | |
Maxim: 25-Jan-2011 | we should be able to do arg.type directly. | |
Kaj: 26-Jan-2011 | Has it ever been discussed that R3 should be able to do IMPORT %file and know to look for %file.so on POSIX systems and %file.dll on Windows? | |
BrianH: 26-Jan-2011 | Earlier in the session of the call to the interpreter. When the program starts it loads the extensions and modules it needs. If you need to load things from specific filenames, do that before you load the other code. The module system is designed to help you organize and manage the code in a program. | |
BrianH: 26-Jan-2011 | You don't want IMPORT to do automatic lookup for more than one file extension because it's a potential security hole. For that matter, you should know if you're loading an extension instead of a module, because extensions could break the rules that REBOL source modules can't. And system/options/default-suffix can be set by your program. For that matter, the host code for LOAD-EXTENSION could translate .rx to .so on platforms that require .so and won't load .rx - that is a platform-specific restriction. | |
BrianH: 26-Jan-2011 | Do you have a problem with making an embedded delayed extension that loads cURL dynamically when the extension is imported? This is supposed to be possible, and is the main reason for delayed modules and extensions. Then only programs with Needs: [curl] would initialize curl. | |
BrianH: 26-Jan-2011 | R3 is cross-platform, and cURL is cross-platform, but both require a little work to make the platform distinctions go away. POSIX helps with this on POSIX platforms, but that's not everything. You can do a little extra work in your extension to make it work the same externally, so R3 code can't tell the difference, but if you want that to extend to filenames then you have to pick a cross-platform filename standard. Once the extension is loaded, embedded or delayed it can be referred to by module name. We don't want IMPORT to grab extensions in its module-paths lookup because that would make it possible to load an extension when you were looking for a safe module, so .rx and .so files aren't going to be in the search list unless your program sets system/options/default-suffix to .rx or .so, with the same security implications. | |
Kaj: 26-Jan-2011 | Do you have a problem with making an embedded delayed extension that loads cURL dynamically when the extension is imported? This is supposed to be possible, and is the main reason for delayed modules and extensions. Then only programs with Needs: [curl] would initialize curl. | |
BrianH: 26-Jan-2011 | LOAD-EXTENSION doesn't do lookup beyond the current directory, so if you want to have it use some library path you have to add that in the host code, or %rebol.r. Either way you can add extensions and modules programmatically to the R3 runtime before the script you're running starts. If you want your scripts to be cross-platform then you probably shouldn't use a platform-specific file extension for the files, but if they are loaded or delayed in the host code or %rebol.r then it wouldn't matter. | |
Kaj: 26-Jan-2011 | Alien binaries shouldn't be installed, so you need separate packages, or a package with an extension installer. If you really don't want to do that, you need subdirectories | |
BrianH: 26-Jan-2011 | Pekr, the idea behind .rx is to make it possible to write cross-platform extensions and have them be called by cross-platform code. If people are using extensions then they are expected to be importing them before they use them. The .rx convention is one way to do this; platform-specific loaders is another. Choose what you prefer. | |
BrianH: 26-Jan-2011 | Subdirs per platform is one way to do this (if you are calling your app from a network share, or building it from source for instance). | |
Pekr: 26-Jan-2011 | Oldes - maybe not, but those things have consequences. if we don't plan on collection resources info, how do we know how to free memory? That might influence some internals, modules, extensions, etc.? | |
BrianH: 26-Jan-2011 | Kaj, you do realize that you won't be able to just load any system library, right? Unless that library has an R3 extension API, it can't be loaded as an extension. And if you can only load R3 extensions anyways, why not name them as R3 extensions? The .so filename suffix isn't even portable to all POSIX platforms. If you want your code to be portable and load filenames, use a portable filename. That is why we have the .rx convention. And we have %rebol.r for anything specific to your personal platform - you don't even have to touch host code. For that matter, CGI scripts could call a R3 interpreter that is in a different directory than the user R3 interpreter so they would use different %rebol.r settings. | |
BrianH: 26-Jan-2011 | Oldes, Pekr, I don't know whether extensions can be unloaded. Last time I checked it was considered unsafe to do so, because the import process doesn't isolate things. In theory you could clean up after a module, remove it from the system modules list, remove all references to it from all other modules (that you have tracked), and then let the module be collected by the garbage collector, but I don't know if extensions are unloaded when they are collected. | |
Pekr: 26-Jan-2011 | I thought about user, downloading a distro. If those are not distinguished, I would try to DO each script, just to demo the REBOL. And doing a module usually does nothing more than loading the module = nothing visually usefull. So I would not mind having .r3, .rm, .rx | |
Pekr: 26-Jan-2011 | well, there was even one other suffix, for a compressed scripts, was it .rip? I like .r3, .rm, .rx, and those I will use (maybe really not necessary to do a separate suffix, I will see). .reb just says - nothing ... | |
Pekr: 26-Jan-2011 | we are very flexible, what do users think? I want free buttons, different extensions. I hope R4 prohibits user to load script, that would be best - we should be strict :-))) | |
Andreas: 26-Jan-2011 | But I want to do `import-extension 'zlib` and not: import switch system/platform/1 [Linux [%zlib.so] Win32 [%zlib.dll] ...] | |
Maxim: 26-Jan-2011 | I want to be able to setup a R3 config file that says: extensions-dir: %/some/path/ and then R3 will only ever load extensions from there. the extensions can do whatever they want, but we have a controled point of entry within REBOL. afaik, systems allow paths on dlopen. rebol would simply always ask for libs with paths... in fact, on windows, that is how you are supposed to do it, probing the registry first to get proper paths for libs. | |
Andreas: 26-Jan-2011 | If you don't want your loader to look into the system paths for a specific app, tell it not to do so. | |
BrianH: 26-Jan-2011 | We do have a way to have extension search managed in a portable way by OS-specific means: LOAD-EXTENSION is implemented in the host code. | |
Andreas: 26-Jan-2011 | Yes, and all we need to do is add some simple filename management to it. | |
BrianH: 26-Jan-2011 | One interesting thing you haven't considered: sys/load-module calls lib/load-extension without checking whether it is native. You can override lib/load-extension with a REBOL code wrapper, in %rebol.r even. Then you can do any safe lookups you like without messing with host code, and even translate .rx suffixes to .so if you like. | |
Andreas: 28-Jan-2011 | All you have to do to use it, is to import the 'extload module first, before you import any native extension. After that, use the generic suffix to load extensions. For example, let's assume you want to load your platform's cURL-binding.* extension: import %extload.r3 import %cURL-binding.rx On Linux (in the system/platform/1 sense) and FreeBSD, this will first attempt to load %cURL-binding.rx and if that fails, %cURL-binding.so. On Windows, %cURL-binding.rx and %cURL-binding.dll are tried (in this order). On OSX, %cURL-binding.rx, %cURL-binding.dylib and %cURL-binding.so are tried (in this order). | |
BrianH: 28-Jan-2011 | Do we need a system/options/extension-paths setting? You could add it to system/options in your %extload.r3, and it would let you preconfigure your system with a directory of shared extensions, if such a thing exists. Or it could just be assigned the same block as system/options/module-paths by default. | |
Maxim: 14-Feb-2011 | I built my own macros to do exactly this. I proposed them to Carl, he mentioned he'd put them in the official distro... seems like I'll have to put them in git hub myself :-) | |
BrianH: 14-Feb-2011 | The answer to that question is as yet unknown. Noone has tried it yet. Do you mean calling into the .NET APIs from native code, or calling into native code from .NET? | |
Robert: 6-Mar-2011 | For callbacks to set the callback function, your C code must have a pointer to the object where it resides (an object you made or some other system context) and the name of the function, as a word id. Those need to be set in the CBI structure: cbi->obj = obj; cbi->word = word; The word ID can be retrieved with RL_MAP_WORD. And a self created context in the same way. But how do I rerieve the ID of the global context (do we still have such a thing?)? | |
Robert: 6-Mar-2011 | cbi->obj is of type REBSER* so this suggest to pass in a series. A string with the name of the context? Brian, how does a "reference to the context containing the function" look for this: rebol [] myfunct: does [] What do I pass to the extension here? | |
Kaj: 12-Mar-2011 | Those are the suggestions I would have, so I don't know what else to do | |
Kaj: 14-Mar-2011 | Thread synchronisation is also a complex topic. You can't just execute a piece of code in the context of another thread. The other thread has to execute it, and to make it do so you need a framework for that, such as a messaging infrastructure | |
Kaj: 14-Mar-2011 | Immediate values are copied. That's the first thing to do to reduce thread synchronisation problems | |
Andreas: 14-Mar-2011 | the real solution is to have R3 do this kind of thread synchronisation internally | |
Oldes: 25-Mar-2011 | Can someone explain me, why is Carl using such an 'encryption' and why not just to use it as const char like I do here: https://github.com/Oldes/R3-extension-FMOD/blob/master/main.c#L417 Is it because he wants to be compatible with some old compilers? | |
BrianH: 28-Sep-2011 | Thanks! I've been using R2/Command to do the database access and R3 to process the data. All in the same script, using a trick I'll post to the Windows group. | |
BrianH: 3-Oct-2011 | Unfortunately, there's an error in its fallback behavior that makes it a bit difficult to use. In its docs, section 3.7: If there is no applicable REBOL datatype to contain a SQL value, the value will be returned as a string. The binary data is returned in a value of the string! type, rather than of the binary! type, which results in a corrupted string that you can't do anything with. If the value was returned as a binary then we could perform the conversions ourselves. I ran into this problem when returning SQL values of the tinyint and text types. | |
Group: !REBOL3 GUI ... [web-public] | ||
Henrik: 17-Dec-2011 | It'll be a while, before I'm available to do any skinning work. | |
Henrik: 30-Jan-2012 | I had mentioned earlier that it would crash due to complex layouts, but this is not the case. The layouts can be very simple. For example this one: 1. run graphical version of r3.exe 2. load following R3GUI release from web: do http://www.rm-asset.com/code/downloads/files/r3-gui.r3 3. execute this simple layout example: view [tab-box ["tab1" [] "tab2" [] "tab3" [] "tab4" [] "tab5" []]] | |
Cyphre: 31-Jan-2012 | There is definitely 'something' in the R3 Core that crashes the interpreter. At the moment it is very hard to track it without the access to the sources or having the debug release of the R3 library. (ie. I was able to trace the crash using the debug release of hostkit exe but the trace ended in the 'hidden' dll part so the hostkit code seems to be most probably out of the game here) IMO it has nothing to with the graphics part(unless there are 2 separate bugs ;)) as I was able to crash R3 when writing non graphical script as well. The crash is very hard to reproduce as it occurs only with specific form of the executed script. If you change some line or even order of words etc. the script works just fine. It looks to me either some GC or other memory allocation leak issue and have suspicion it have something to do with the map! datatype (but this is just my feeling). | |
Oldes: 31-Jan-2012 | I'm quite used to have several consoles opened which I use for multiple purposes and do not close them after each finished script. So I'm more affected by these possible GC bugs in R3. | |
BrianH: 31-Jan-2012 | The module system can be fixed to not use RESOLVE/extend/only, and a few months ago I submitted such a fix to Saphiron for them to include in their next host code release, along with other mezzanine fixes. I'm just waiting for them to post another release. In the meanwhile, in my own module code that does exports I do the exports explicitly in the module code itself instead of using the EXPORT keyword or the Exports header. | |
BrianH: 31-Jan-2012 | Hopefully this patch file will serve as an example for others who want to do similar patching. | |
Cyphre: 31-Jan-2012 | I succesfully 'overloaded' some mezz functions in R3 in the RMA hostkit. See the inclusion of %rma-patches.r file in src\tools\make-host-init.r in the RMA host-kit release. So it is possible to do some fixes that way.(of course not every part can be tweaked such way) | |
Group: Power Mezz ... Discussions of the Power Mezz [web-public] | ||
Oldes: 20-Dec-2010 | I was using REBOL for datamining a few years ago and I can say it was easier to do string based parsing to get what I've needed. | |
Oldes: 20-Dec-2010 | It's always easier to do: parse html [thru "<title>" copy title to "<"] than parse complete html to something like a block structure and dig title in it. | |
Kaj: 20-Dec-2010 | For you, but my business partner wants to scrape web pages, and I don't think he would understand how to do it with parse | |
Oldes: 20-Dec-2010 | Again... it's easier to do manual changes to parse malformed pages if you do string parsing where you don't care about 99% of the page content. | |
Kaj: 20-Dec-2010 | I'm not going to do it for him, either, thank you very much | |
Gabriele: 21-Dec-2010 | My approach was, instead of doing what many others do (try to remove things from the HTML that are known to be "bad", eg. use regexps to remove anything that starts with "javascript:" or anything between <script>...</script> etc.), was to only pass what was known to be good, and ignore everything else. This is a bit more limiting but I consider it to be safer (you don't have to play a game with attacker where every time they find a new vector, you have to add it to the "bad" list). | |
Gabriele: 21-Dec-2010 | This method avoided keeping any intermediate representations in memory. However, because of that there were a number of things it could not do (eg. no look ahead, and you get an explosion of the number of states if you want to "look behind" more). | |
Janko: 30-Apr-2011 | I was planing to use beaurtifullsoup if you didn't but since you do that is even much better | |
Group: !REBOL3 Host Kit ... [web-public] | ||
Cyphre: 4-Jan-2011 | Rebol strings are stored either as ANSI (one byte) or wide char (double byte). Of course the rich-text module is currently doing the conversion for every rendered ANSI string in realtime. Any sophisticated rich-text caching is not yet implemented. (note: this has nothing to do with font glyph cache which works well) But even though the cache of large text block is missing the performance is still very usable for normal GUI cases so the priority to spend time on the line-cache is not too high at the moment. | |
Cyphre: 4-Jan-2011 | I understand what Oldes wants. He want to be able to change already allocated Rebol string! from ANSI to WIDE-CHAR 'mode' so next time the conversion is not needed. Tha could be useful but has to be decided/implemented by Carl in the hostkit api. Also it would be interesting to see how big is the difference between on-the-fly conversion performance to see if it really makes sense to permanently take two times more memory for such Rebol string or just do the temporary on-the fly conversion as it works now. | |
Oldes: 4-Jan-2011 | It's possible to do such a test... just to compare the performance with ansi strings only and with strings which contains non ansi chars as well (so are stored as wide char internally). I can try it once I will have some time again. | |
Oldes: 4-Jan-2011 | I modified text-test3.r3 script from the host-kit to use normal sized font (12) not anti-aliased and used a little bit longer text content (but not extremely much. just two lines with length cca 1400 chars)... the result is: Good news: I do not notice any difference between ansi/unicode content. Bad news: in both cases R3 uses almost 23% of my CPU time when I just move mouse over the text, which is pretty much:/ | |
Pekr: 5-Jan-2011 | Cyphre - what was the result of your acceleration experiment (not talking JITTer here)? I do remember it provided some further speed-up to some folks here (not to me on intel chipset). Will it be added to hostkit by default, if it works under all Windows versions? | |
BrianH: 13-Feb-2011 | Has anyone tried compiling the hostkit for MinGW with the Cygwin compiler set? I'm trying to minimize the number of GCC installations on my Windows machine, and the Android NDK requires Cygwin to do its build process. | |
Group: !REBOL3 Modules ... Get help with R3's module system [web-public] | ||
BrianH: 4-Oct-2011 | %rebol.r is run before any user code is run, even the --do and --import args. This makes it the best place to hack the module system for your own uses. | |
Group: !REBOL3 Proposals ... For discussion of feature proposals [web-public] | ||
PatrickP61: 1-Jan-2011 | I would like to see some support for automatic logging of events. Rebol currently has two "hooks" to allow "Front-end" code to execute automatically in the REBOL.r and USER.r files. I would like to see another "hook" to allow "Back-end" code to execute automatically whenever Rebol stops its current evaluations for any reason such as encountering the HALT, QUIT, or any error which causes Rebol to stop evaluation. This could allow for some kind of automatic logging of QUIT, HALT or ERROR as well as capturing the error messages. It would be nice to allow capturing of any other information such as the script name, computer name, current timestamp, and where in the script the evaluation stopped, and how it stopped. I would use this to log all of my scripts that is invoked (put the code in REBOL.r file) and then the termination conditions defined so they could be triggered automatically. With such a function, I could even have certain selected scripts send an automatic SMS messages to my phone if certain scripts errored out etc. I'd like to propose a new function called WHEN that can be used to trigger code at a terminating event. WHEN block /all For any specified terminating condition, evaluates what follows it. Arguments: block [block!] - Block of terminating events (conditions followed by values) Refinements: /all - Evaluate all terminating conditions (do not stop at first true terminating condition) The WHEN command would be used to define code to be evaluated whenever a termination condition of any kind occurred in which continued evaluation will stop. Examples: WHEN/ALL [ HALT? [ print "This script will HALT now" ] ; code to be evaluated before the HALT is evaluated QUIT? [ print "This script will QUIT now" ] ; code to evaluate befoe the QUIT is evaluated ERR? [ print "An error was discovered" ] ;code to evaluate after an error is captured, but before the message is printed END? [ print "Script about to end" if now/time > 23:00:00 print "Stopped after 11 pm" ] ; code to evaluate whenever the current evaluation has stopped for any reason ] Note: HALT?, QUIT?, ERR?, END? are all logic values which become true depending upon how evaluations will be stopped. END? will always be true and one of the other terminating conditions will always be true. What do you think? | |
Sunanda: 13-Jan-2011 | Maxim <If an object has length, why can't I pick it?> Maybe they are like SQL tables..... A table has a length, so this is valid select count(*) from .... -- to get the length of the table (ie number of rows) But, in the absence of an ORDER BY the rows do not have a user-accessible sequence, so select first from .... -- is not valid syntax, nor (without an ORDER BY) is it even meaningful (Sorry, I know you did not want that debate) | |
Maxim: 13-Jan-2011 | btw the fact that pick can't use objects isn't related in any way to what length? can or cannot do. I just gave an example to *illustrate* how clean it is to use thruty returns in real code. whatever the algorithm or functions we use we will always have to handle the special cases (like 0 in maths) | |
Maxim: 13-Jan-2011 | yes, in such a sense (expensive change), I understand. I will wait for brian to step up and get his opinion. I know we've spoken about this somewhat before, but not as head-on, for myself... With the recent talk about naming, IMHO it has put a new light on the possibility for this to be a bit more appreciated, adding ? at the end would now mean something concrete. let it be known that I do like errors, I am not against errors, I have been putting less and less error recovery in my code to make sure it crashes and I fix bugs early. its just that I can see many if not most ****? functions (my own included) being truthy and this is very usefull to facilitate control flow. This, as oposed to always putting error handlers in places where the error is only used as a negative reply, for which we can supply, IMHO, a reasonable value/standard. | |
shadwolf: 13-Jan-2011 | and clearly speaking about guru level stuff and not having a begining of a trail on such an issue makes me crazy just because noone wants to do this basic effort ... | |
shadwolf: 13-Jan-2011 | maxim hum you know you do a splendid documentation full of stupidities to make Carl go on verbose mode and correct it that's what it's called preach the false to obtain the true :) | |
Ladislav: 14-Jan-2011 | exactly when and how it works - there are at least two reasons why this is what you can't get: 1) *when* the GC works is "unpredictable" from the programmer's POV (depending on other code, etc.) 2) It is (or may be) subject to adjustments or changes, without the programmer being able to detect such changes, so why should he know? 3) programming for a specific GC variant should be seen as a typical bad practice - why should you want to make code that is supposed to work only in specific circumstances? Not to mention, that you actually cannot do that anyway, since the GC should be programmed to hide any implementation details | |
Maxim: 14-Jan-2011 | BrianH, if I deliver an application to a client and he says to my face... why does it jerk every 2 seconds? I really don't care about if the GC might change. right now I can't do anything to help it. if it changes, I will adapt my code to it again. This is platform tuning and it is inherently "close to the metal", but in the real life, such things are usefull to do... just look at the 1 second boot linux machine in that other group. | |
BrianH: 20-Jan-2011 | Actually, that feature might go away. The ALIAS function has been a big hassle in R3 because of the lack of a central system/words repository. We are likely to keep the aliasing facility for internal use to implement case insensitivity, but the ALIAS function to do other kinds of aliasing may go away. | |
BrianH: 20-Jan-2011 | Good to know. How would it affect numeric code if we made this change? Do we need operators for exact comparison? | |
Maxim: 27-Jan-2011 | prefix? and suffix? just return true if a series starts with the same items in the same order as the second one. the second argument is the prefix to compare so you can easily do: unless suffix? file-name %.png [append file-name %.png] | |
Maxim: 27-Jan-2011 | In the next release of glass, in the TO DO file, I list a few measurse to increase performance and decrease ram use by concentrating on using as much persistent data than throw away recycling. but that means a complete overhaul of liquid and glob (the rendering engine over liquid). | |
TomBon: 27-Jan-2011 | maxim, do you plan to add more widgets to glass? | |
BrianH: 28-Jan-2011 | See http://issue.cc/r3/1573for remove-duplicates and the reason it's not as good an idea as you might think. It turns out that the set functions have to allocate a new series to do their work (for series larger than trivial size), even if they were changed to modify in place. So you can't avoid the allocation; might as well benefit from it. | |
BrianH: 28-Jan-2011 | It has to allocate another series anyways, as the set functions do hashing. In-place is just for convenience, not to save memory. | |
Maxim: 28-Jan-2011 | which is why its preferable to do it there anyways... and the fact that we only have one function name to remember for the two versions is also a big deal for simplicitie's sake. | |
Ladislav: 28-Jan-2011 | I am pretty sure, that: 1) the set operations in Rebol are in fact GC-safe using the standard meaning of the sentence 2) it is always necessary to use auxiliary data, if the wish is to do the set operation efficiently 3) nobody pretending to need a modifying version really needs an inefficient variant, which does not use any auxiliary data | |
Maxim: 28-Jan-2011 | right now the GC is very cumbersome. it waits for it to have 3-5MB before working. and it can take a noticeable amount of time to do when there is a lot of ram. I've had it freeze for a second in some apps. everything we can do to prevent memory being scanned by the GC is a good thing. | |
Ladislav: 28-Jan-2011 | right now the GC is very cumbersome. it waits for it to have 3-5MB before working. and it can take a noticeable amount of time to do when there is a lot of ram. I've had it freeze for a second in some apps. - what exactly does the GC have in common with the "Deduplicate issue"? | |
Maxim: 29-Jan-2011 | even if done without aux data, it will still be MUCH faster to do in native. | |
Ladislav: 29-Jan-2011 | I am curious who do you think would agree to write that nonsense | |
Ladislav: 30-Jan-2011 | That is why I do not understand, why it is so hard to understand. | |
Marco: 13-Mar-2011 | Every refinement with an optional value should accept also a none! (implied ?) eg. sum: func [ "Return the sum of two numbers." arg1 [number!] "first number" arg2 [number!] "second number" /times "multiply the result" amount [number! none!] "how many times" ][ ; test argument, NOT refinement either amount [arg1 + arg2 * amount][arg1 + arg2] ; or if not amount [amount: 1] arg1 + arg2 * amount ; or amount: any [amount 1] arg1 + arg2 * amount ] so it would be possible to do: summed: sum/times 1 2 (something) ;also if (something) is none and obviously also: summed: sum 1 2 instead of: summed: either (something) [sum/time 1 2 (something)][sum 1 2] | |
Marco: 13-Mar-2011 | Sorry but you are flying too high for me. I am tring to rewrite my sum function using aplly but do not understand how it could be done. | |
Group: !REBOL3 Parse ... REBOL3 Parse [web-public] | ||
BrianH: 14-Jan-2011 | Btw, if there are other bugs in R3's PARSE that need to be discussed before being submitted to CureCode, this seems like a good group to do so. |
10901 / 11578 | 1 | 2 | 3 | 4 | 5 | ... | 108 | 109 | [110] | 111 | 112 | 113 | 114 | 115 | 116 |