AltME groups: search
Help · search scripts · search articles · search mailing listresults summary
world | hits |
r4wp | 4382 |
r3wp | 44224 |
total: | 48606 |
results window for this page: [start: 2901 end: 3000]
world-name: r4wp
Group: !REBOL3 ... General discussion about REBOL 3 [web-public] | ||
GrahamC: 10-Jan-2013 | And Topaz? | |
Gabriele: 10-Jan-2013 | it's higher priority than R3 for me, but i'm not sure if i'll be able to work on it in the next 2-3 months. things should settle after that though, and hopefully i'll be able to plan again and carve some serious time for it. | |
AdrianS: 10-Jan-2013 | I don't recall - was there a big difficulty in reporting errors more accurately in Rebol? It would be nice to have a line number in a script. As it is the context given around the error is often pretty vague and doesn't help much. | |
BrianH: 10-Jan-2013 | Chris, the easiest way to do what you are trying to do is to use sys/load-header, which returns a block of the decoded header object, the position of the script after the header (after decompressing it if need be), and the position after the whole script (useful for embedded scripts. If the script is embedded in a block it will decode the whole script and return the decoded block at the position after the header, but that can't be helped. R3 scripts are binary, not text, so the returned script position is binary. >> sys/load-header "#!/some/path 1foo^/REBOL []^/script here" == [make object! [ title: "Untitled" name: none type: none version: none date: none file: none author: none needs: none options: none checksum: none ] #{7363726970742068657265} #{}] >> to-string second sys/load-header "#!/some/path 1foo^/REBOL []^/script here" == "script here" Note that it will skip past one trailing newline after the header, if one exists. | |
BrianH: 10-Jan-2013 | The sys/load-header function is the same function that R3's LOAD, DO and IMPORT use to decode headers. | |
GrahamC: 10-Jan-2013 | I asked this a few years ago but where would be a good place to collect charsets for reuse in parse rules. They are defined in protocols and duplicated which seems a shame. | |
Maxim: 11-Jan-2013 | why not just build a list and store them as a continuously growing setup on rebol.org? | |
Chris: 11-Jan-2013 | What makes predefined bitsets different from predefined colours? Wouldn't the case use for 'digit and 'alpha be more common than 'red, 'green and 'blue? Or should colours move to a separate module too? | |
Gregg: 11-Jan-2013 | http://www.rebol.org/view-script.r?script=common-parse-values.r I think having some predefined would be great. No doubt we all have our own, and just having standard names for them would help. | |
Gregg: 11-Jan-2013 | Me too, Graham. Why would we *not* want to put them in %base-constants.r, or a new %base-charsets.r? Colors are in %mezz-colors.r, and I would certainly vote to remove a number of those. Pretty sure I've never used 'papaya. :-) | |
GrahamC: 13-Jan-2013 | http://www.rebol.net/wiki/Ports:_Synchronous_and_Asynchronous_Operations Is this example supposed to work still? port: make port! http://www.rebol.com port/awake: func [event] [ switch event/type [ connect ready [ write event/port [get %/] ] done [ result: copy event/port return true ] ] false ] open port wait port | |
TomBon: 13-Jan-2013 | with an additional lightweight scheme for user/authentication on the rebol site and the zmq workhorse lives on the C side, with all it's advantages (speed/thread). | |
Robert: 13-Jan-2013 | For me the value was not the transport layer but the integration and the structure of the messaing, service look up etc. IMO we shouldn't use a HTTP only transport layer for R/S and this layer shouldn't be done on the mezz level. | |
Pekr: 13-Jan-2013 | ah, those services. I wrote some doc about what do I don't like about them (naming conventions, other design issues (from my pov)), and Carl told me, that he is going to completly overhaul them once GUI is finished. That never happened though .... | |
TomBon: 13-Jan-2013 | don't want o open this bottle now but another construction zone are the codecs like jpeg or zlib. at quick overview shows them very outdated. zlib e.g. from 1998 but don't know if carl has updated at least critical bugs. this has to be checked, the changelog is quite heavy until current. I like the Lua way here. the creators just take care about the real core, nothing else but this at a very agil and serious level, one reason the core is rock solid and very portable. the disadvantage of course is lack of a standard lib and a kind of wild growing but I guess this is the price you have to pay for open source. | |
Scot: 13-Jan-2013 | I would love to see rebol/services and asynchronous R3 tools as well. | |
Robert: 14-Jan-2013 | I once used it and even the existing version works quite well. It's very simple to use and straight forward. That's what I like about its design. | |
Pekr: 14-Jan-2013 | Well, my gripes were with the architecture a bit - all those functions with replicated names - do-servise, open-service, close-service. IIRC, old IOS used rsp-* functions, it was easy to list in help, and it used even rsp:// port scheme IIRC. Other thing I did not like much was, that the code seems to be plain pure parse code, but surely if the need is there, it could be abstracted. Carl admitted, that he would somehow change the design, no specific things I remember about his thoughts though ... | |
Scot: 14-Jan-2013 | I create little Rebol/Services from time to time. Would be nice to have a spec that makes it quick and easy. | |
Robert: 14-Jan-2013 | SDL: I just tried an app using it with OSX. That's not really end-user friendly. Needs to be totally self-contained. No config etc. just download and start. | |
Gregg: 14-Jan-2013 | I still have some rebol services stuff in production, and always had high hopes for it. And while I would like a self-contained, dialected model, I also want to be able to easily use 0MQ as a transport and REST interfaces to map over services. | |
GrahamC: 16-Jan-2013 | I've updated the time scheme and uploaded it to github here https://github.com/gchiu/Rebol3/blob/master/protocols/prot-time.r | |
GrahamC: 16-Jan-2013 | Well, currently 'read doesn't have a custom refinement. But I guess that can be added and then we can use that. | |
GrahamC: 16-Jan-2013 | Should get some concensus on this as it will affect all the schemes, and may need a little rewriting of the http scheme which uses write to pass options | |
Chris: 16-Jan-2013 | On the http scheme, it could be the difference between adding a query string to a GET request (read/custom), and adding post data on a POST/PUT request (write). | |
GrahamC: 16-Jan-2013 | and HEAD ? | |
GrahamC: 16-Jan-2013 | the thing is that GET sends information and gets something back. Same as POST. What's the difference? | |
Chris: 16-Jan-2013 | Not at all. Particularly if you consider the HTML form -- GET sends parameters in the URL, POST sends parameters in the body. And consider the usage of each: GET is usually some type of search/filter facility, POST is sending data to be stored. | |
GrahamC: 16-Jan-2013 | It would be simpler if we just used GET and POST instead of read/write | |
BrianH: 16-Jan-2013 | Graham, HTTP GET is supposed to be repeatable without side effects, and thus safe to cache. HTTP POST is supposed to generate side effects, and thus not be safe to cache. | |
BrianH: 16-Jan-2013 | You have to see it in terms of the whole model. READ and WRITE don't just operate on HTTP and files, they can operate on a wide variety of port types. | |
BrianH: 16-Jan-2013 | Looked in chat #1097 (the area where standard options were discussed) and we haven't brought it up there yet, but Carl did a blog about it. | |
Andreas: 16-Jan-2013 | Change the signature of query to always include a mode field: QUERY target mode, then you could "default" read actions with READ, read actions with options with QUERY and the options as second parameter, write actions with options with WRITE. | |
GrahamC: 17-Jan-2013 | mezz/boot-files.r ... add protocols here and they get included into the binary. I managed to add a new scheme to the binary this way | |
Robert: 17-Jan-2013 | So, Andreas and I tipped a priori. So, what's your tip? | |
BrianH: 17-Jan-2013 | 17 digits aren't sufficient to represent the difference between 0.10000000000000001 and 0.1000000000000000055511151231257827021181583404541015625, so if you say that the real IEEE754 value is 0.1000000000000000055511151231257827021181583404541015625 then you can't show that difference in 17 digits. | |
Ladislav: 17-Jan-2013 | You are ignoring the definitions: 1) there is the IEEE 754 "definition" specifying which number corresponds to 0.1 - I know (using my Rebol script), that it actually is the number 0.1000000000000000055511151231257827021181583404541015625 2) there is my definition specifying which strings "accurately enough" represents the IEEE 754 number 0.1000000000000000055511151231257827021181583404541015625. According to my definition (you can find it defined as a Rebol function in the ML) all of "0.1", "0.10000000000000001" and "0.1000000000000000055511151231257827021181583404541015625" "accurately enough" represent the number. | |
Ladislav: 17-Jan-2013 | Why are you trying to push this change into MOLD without /all? - aha, this may be a misunderstanding. I am not that far yet. What I said was that it was possible to define which string may be considered "accurate enough" when representing a given Rebol value VALUE. There may be more than one such string. Now it is interesting that neither MOLD nor MOLD/ALL needs a longer string than the one that is already "accurate enough". Thus, it might make sense to just use the shortest "accurate enough" string (which may have even less than 15 digits) for both MOLD and MOLD/ALL.. | |
GrahamC: 18-Jan-2013 | I can probe system/schemes/tls and /https | |
Cyphre: 18-Jan-2013 | Graham, the TLS protocol scheme works transparently on tcp ports. So you just need to change the port/scheme from 'tcp to 'tls and you have the tcp connection secured. Then you can build any higher-level protocol over it. Having made the TLS scheme transparent I needed to make only few minor changes to the Gabriele's HTTP scheme to be able support HTTPS as well. | |
GrahamC: 18-Jan-2013 | And are you going to implement SHA256 ? | |
Cyphre: 18-Jan-2013 | I simply wrote the TLS scheme :-) I've also added the neccessary crypto algorithms at the native level (only RSA with ARC4 cipher suite is supported at the moment). IMO this solution gives us much better flexibility: the encryption code is native(fast) and the TLS protocol logic is in REBOL so it is possibel to enhance it much more easily. | |
Cyphre: 18-Jan-2013 | (so for example we can later implement also the certificate handling and TLS server mode) | |
GrahamC: 18-Jan-2013 | so has to be compatible license and in plain C ? | |
Cyphre: 18-Jan-2013 | I have AES algo prepared for integration. Currently we are looking for good implementations of: SHA256, DH and 3DES | |
GrahamC: 18-Jan-2013 | compatible are GPL, MIT and Apache? | |
Cyphre: 18-Jan-2013 | BTW getting the TLS/HTTPS to run on Android proves that our solution is good and can be easily used in crossplatform way. No need for any OpenSSL-like bloat anymore in R3 ;) | |
Cyphre: 18-Jan-2013 | I haven't searched for SHA256 yet so that is possible. I'm now looking more for the DH and 3DES... | |
GrahamC: 18-Jan-2013 | http://www.codeguru.com/cpp/misc/misc/cryptoapi/article.php/c8195/Portable-Cryptography-API-for-Triple-DES.htm C and C++ implementations | |
BrianH: 18-Jan-2013 | The time protocol mentioned in Vanity seems to need a change in design. There should never be a need for READ to have an /args option - that is what the path and query stuff are for. Instead of this: read/args time://time.nist.gov [ GMT ] it should be this: read time://time.nist.gov/gmt | |
Andreas: 18-Jan-2013 | `There should never be a need for READ to have an /args option - that is what the path and query stuff are for` That's obviously problematic for systems which already make use of URLs including path and query components. | |
BrianH: 18-Jan-2013 | Are you talking about HTTP, the only scheme that has query and paths built into the URL spec standard? Because we have WRITE for that situation. For other schemes, we can define our own meaning of the query (and in some cases path) so we don't break the model. | |
GrahamC: 18-Jan-2013 | I think you mentioned above that write should be used for non idempotent actions and read for the idempotent ones. | |
BrianH: 18-Jan-2013 | There are more port actions than just WRITE and READ. Don't limit yourself to just those two. Most of the metadata operations for HTTP-like schemes are handled by QUERY. | |
BrianH: 18-Jan-2013 | And the mode, and it can take a url! or block spec. But there are other url! and port! actions than just those 3. | |
BrianH: 18-Jan-2013 | There's a lot we can tell about the intended design by looking at the actions and their options. The actions were pared down deliberately, lowering overhead and getting rid of unnecessary options. Any action that can operate on a port is pert of the interface of ports, and the same goes for URLs. Plus, we have Carl's blogs and docs on the subject. | |
BrianH: 18-Jan-2013 | And we have people who discussed the design with Carl. | |
Andreas: 18-Jan-2013 | Again, I think that adapting QUERY would be a nice alternative to READ/custom and give us a neutrally sounding general action. | |
BrianH: 18-Jan-2013 | Andreas, QUERY already takes a parameter, but it's optional. QUERY/mode retrieves a particular bit of information, and QUERY without /mode returns an object full of standard bits of information. | |
Andreas: 18-Jan-2013 | Andreas, QUERY already takes a parameter, but it's optional. Yes, and I propose to change that. | |
Chris: 18-Jan-2013 | Where READ/args wins for me is that instead of, for example, composing a custom query string for HTTP -- you don't have to worry about that conversion. It's encoded and appended for you as defined by the port. | |
Gabriele: 19-Jan-2013 | I'd have to review the code, the main problem with errors is that, again, port behavior is really not defined explicitly for that, and Carl never answered. | |
Gabriele: 19-Jan-2013 | ah, you're right, then there must be something that is global and should not be. | |
DocKimbel: 19-Jan-2013 | Anyone happens to know who we have as admins of the R3 project CureCode? Carl, BrianH and me. | |
DocKimbel: 19-Jan-2013 | what's the intended meaning of the reviewed" status for R3 CC tickets?" It means that the ticket has been acknowledged/accepted and will be processed. At least, that was the initial meaning, maybe Carl and Brian used it differently afterward. | |
DocKimbel: 19-Jan-2013 | Who decides an issue is closed? Depends on the convention set for R3 project. I usually consider that it should be closed by the developer processing it, once the issue is fixed. It could also be closed by the one that opened it if he's satisfied by the provided answer or the fix. Who can re-open issues? Admin can, Developer should too. Currently in addition to admins, there are 3 people with Developer roles/rights: Henrik, Cyphre and Gabriele. | |
GrahamC: 19-Jan-2013 | Pekr, my schemes are still available on github. They are all async and need to be rewritten as sync. to get them to work you need to make the following changes: 1. In the header, change from module: 'name to type: 'module name: 'name make-scheme => sys/make-scheme There's also some odd about contexts inside modules. You need to declare your variables inside /local as you can get a context error if they are used but not so defined. | |
BrianH: 19-Jan-2013 | Yes. Actually, there's a pull request that represents the current intended design of the module system ( https://github.com/rebol/r3/pull/40 ). And I'm working on a set of tests that should help document it as well. | |
BrianH: 19-Jan-2013 | The module system was almost complete in implementation with the last closed-source release, needing only the fixes we (and I mean me and you, Andreas) did in the first week of the open source release. We have only been waiting for Carl to add that pull request to get the current design working as intended, though that request doesn't only apply to modules in particular, but to scripts in general. Once it is accepted, I need to do another round of optimization, but the external effects are set already. | |
BrianH: 19-Jan-2013 | So we are at the stage of writing docs and tests. | |
BrianH: 19-Jan-2013 | The only reason the user-level docs aren't yet written is because I am really bad at writing user-level docs of any kind. I was hoping that I could write some guru-level docs and then let someone read them and write something user-level. | |
BrianH: 19-Jan-2013 | As for that blog, the behavior described there has some practical problems. There is nothing in the code itself (I mean the example code in the blog, not the implementation code) to indicate that 'last-stock is a free variable, but 'if and 'not are not - they are all words not declared at the top level of the module (by using them as set-words, like in an object) or elsewhere in the code. This means that if you want it to have 'last-stock be made local to a module, you would have to make 'if and 'not local as well. That works if lib words can only be set once, but not if they can be reset, since changes wouldn't propagate to the other modules or user scripts (since those values are copied to words in other contexts). We determined that the behavior described in that blog could be useful enough to be worth supporting, but had some nasty side effects that made it not be what we wanted to do by default. That is why we made it an option, in particular the isolate option. If you specify the isolate option, your module acts like it does in the blog, and this has the effect of isolating your module from all external changes to the lib context. | |
BrianH: 19-Jan-2013 | There is also a content option (it acts like content: true from R2), and a compress option (for scripts that are stored compressed, and automatically decompress on load). | |
BrianH: 19-Jan-2013 | The content and compress options don't require type: module - they work on regular scripts too. | |
BrianH: 19-Jan-2013 | Scripts can also be checked against checksums, and can be limited to a length, but those aren't flags so they need their own header words. | |
BrianH: 19-Jan-2013 | Btw, "Reviewed" has generally meant that someone has gone over the ticket and not immediately found a good reason to dismiss it, and that we haven't found a problem yet. It is not an indication that the ticket should be implemented - we frequently have competing contradictory tickets. So it sometimes means that more debate is needed before we can accept or reject it. On the other hand, it sometimes means that we haven't gotten around to it yet. Nonetheless, some reviewed tickets will eventually be rejected. Carl and I were the reviewers for the most part, except in the case of bugs that needed some domain-specific knowledge, like the math bugs we referred to Ladislav. | |
BrianH: 19-Jan-2013 | In general, when there are competing proposals and we finally pick and implement one, we dismiss the competing ones, even if they were "reviewed" before. | |
BrianH: 19-Jan-2013 | Basically, "reviewed" with a consensus. No specific marker. We need to have the people who are familiar with the arguments go through the tickets that aren't still under debate and implement them. | |
GrahamC: 19-Jan-2013 | Just that I had a proposal which was accepted and marked as built and then you reviewed and found it wasn't built | |
BrianH: 19-Jan-2013 | We might want to rethink that now that Carl and I aren't the only ones implementing things :) | |
BrianH: 19-Jan-2013 | I haven't had a chance to go over the remaining tickets yet. And there are some that weren't implemented yet because Carl didn't want to, but hadn't yet convinced the rest of us as to why. Those might be dismissed if we get a good argument against them, which we can do in some cases ourselves now that we can see the native source. | |
BrianH: 19-Jan-2013 | And we need to go through the old previously implemented but now invalid tickets, to mark them as such so we don't have bad tests added for them. | |
BrianH: 19-Jan-2013 | For some of the early tickets, more thought and experience caused us to change our minds later on. | |
BrianH: 19-Jan-2013 | Graham, was that proposal state change recent? Was it changed to "pending"? We've had a bit of a definitional problem with the "built" state lately. Until we actually get official builds, with version numbers, we don't really have a defined "built" state. We need a state for "implemented and accepted as a pull request into Carl's repo, but not in an official build yet", but we've just been callung that "pending" for short. | |
Ladislav: 19-Jan-2013 | I updated http://www.rebol.net/wiki/Decimals-64 to reflect the current state of knowledge about molding and loading | |
BrianH: 19-Jan-2013 | And then we can use "pending" for waiting to be accepted. | |
BrianH: 19-Jan-2013 | It wouldn't take much :) And there might be miore tickets that should be in that state than are currently marked as such. | |
BrianH: 19-Jan-2013 | For tickets with implementations that have been accepted into Carl's r3 master branch, mark the ticket with a Status of "built" and a Fixed in of "r3 master". | |
BrianH: 19-Jan-2013 | That error is exactly the same one that would be returned if there were no /next refinement. The print is only there to help people with the transition. If we don't feel that is necessary anymore, we should remove the /next option altogether and that entire code segment as well. | |
Ladislav: 20-Jan-2013 | A poll question: - I am adjusting Rebol core-tests suite and doing MOLD and MOLD/ALL tests for decimals. There is one case I want to mention separately. At present it seems that for almost every decimal X the expression same? x load mold/all x yields true. The only exception being the "negative zero" case, because MOLD currently yields "0.0" when molding "negative zero". What are your preferences in this respect? | |
BrianH: 20-Jan-2013 | I would prefer MOLD/all -0.0 to generate "-0.0". As for MOLD, I'm on the fence: If the difference between 0.0 and -0.0 is significant enough semantically, but not too confusing to the regular programmers that MOLD is targeted at, then why not? We definitely don't want MOLD and MOLD/all to be the same though, because there are too many developers that want to keep the illusion that 0.1 exists. Having a display setting to have the interactive console print values with MOLD/all instead of MOLD makes sense though. | |
BrianH: 20-Jan-2013 | Right, because they print approximate values. If your proposal is to change MOLD to generate the smallest value that, while not actually being the value in memory, would generate that value in memory as a result of the loader trying to approximate what you wrote, then I might be OK with that if it can be done efficiently. If it can't be done efficiently, I'm OK with doing what all of the other non-scientific languages do and just use 15 digits. | |
Gregg: 20-Jan-2013 | R2 says 0.0 and -0.0 are the same, but R3 does not. I replied to Lad's googlegroup post that I would prefer "0.0", as evaluating -0.0 returns 0.0. So, they are equal but not the same under R3. What would be a scenario where you would want to maintain the sign? | |
Ladislav: 20-Jan-2013 | R2 says 0.0 and -0.0 are the same - actually, in R2 it is possible to devise a test which would discern -0.0 and 0.0, although SAME? can't discern them | |
Ladislav: 20-Jan-2013 | It is possible to prove that Rebol identity does not depend on the SAME? function at all, in fact, and unsetting 'same? I obtain the same identity as when the SAME? function is defined. | |
Ladislav: 20-Jan-2013 | This actually demonstrates that there may be some level of "arbitrariness" in the implementation of the SAME? function, but if the SAME? function is arbitrary and differs from the IDENTICAL? function then we are able to prove that it is arbitrary and it is not the natural identity existing in Rebol regardless of the SAME? function. | |
GrahamC: 20-Jan-2013 | The problem with writing a prot-send.r is that we have no guidance yet on where user variables such as name, email and passwords are to be stored. | |
BrianH: 20-Jan-2013 | Graham, put the settings in a structure that is local to the prot-send.r module and managed by it. Non-private module contexts are global. | |
BrianH: 21-Jan-2013 | I apologize if this kind of thing seems complicated, but a lot of the module system happened as side effects of the original design. Carl's original module proposal was high-level and not actually implemented, so there were some implications that he didn't really know about at first. Once we worked through the details, we ended up with a more flexible module system than he originally specified (that was the first rewrite). Then we changed the interface and usage to make it simpler and make the code more maintainable (rewrite two), then refined it based on the new model and added many new ways to make it even simpler to use, and some new features Carl and others wanted (rewrite 3). So I hope that you'll bear with me for a moment. | |
BrianH: 21-Jan-2013 | Regular modules have names and versions so they can be loaded only once, and upgraded in place if need be. As a side effect, this makes the module's context effectively global. We have a few built-in global contexts, but we don't necessarily have to make built-in global contexts for stuff that is managed by modules because the module contexts are themselves global. |
2901 / 48606 | 1 | 2 | 3 | 4 | 5 | ... | 28 | 29 | [30] | 31 | 32 | ... | 483 | 484 | 485 | 486 | 487 |