World: r3wp
[!REBOL3]
older newer | first last |
Kaj 25-Sep-2011 [9540x3] | Some functions still need to be finished compared to R2, such as SORT |
And of course, there was this strategy that R3 can't be released before the GUI is finished | |
The licence is also still undecided | |
Ladislav 25-Sep-2011 [9543] | SORT is totally unnecessary for R3 to become beta, IMO (you can use any algorithm written in REBOL, e.g. http://www.fm.tul.cz/~ladislav/rebol/msort.r , etc. |
Kaj 25-Sep-2011 [9544] | It's in there, and it's incomplete and buggy. That's no state for beta |
Ladislav 25-Sep-2011 [9545] | There are important issues, but surely not this one |
Kaj 25-Sep-2011 [9546] | Tell that to Carl |
Ladislav 25-Sep-2011 [9547] | I did |
Kaj 25-Sep-2011 [9548x2] | So, dig he agree? |
did | |
Ladislav 25-Sep-2011 [9550] | Hmm, he did not tell me he disagreed, but, otherwise, his priorities may differ |
Kaj 25-Sep-2011 [9551] | Carl's priorities are the only ones that matter |
Sunanda 26-Sep-2011 [9552] | Linus Torvalds and CureCode #666 :) http://h30565.www3.hp.com/t5/Feature-Articles/Linus-Torvalds-s-Lessons-on-Software-Development-Management/ba-p/440 |
GrahamC 27-Sep-2011 [9553] | Antithetical to how some languages are developed ... |
Claude 27-Sep-2011 [9554] | hi, do you know if a r3 gui for linux will be out soon or later ? |
Henrik 27-Sep-2011 [9555] | it will be "later". |
Jerry 28-Sep-2011 [9556] | In R3 Module Design Details, it says there is a function named SET-MODULE. I cannot find it in R3 a111. Anything changed? |
BrianH 28-Sep-2011 [9557x2] | Yeah, the whole module implementation model changed, twice. The docs reflect the second change. Sorry, been busy. |
Sorry, the second version. | |
Jerry 28-Sep-2011 [9559] | Thanks BrianH. Overall the doc is very good, I learned a lot. |
BrianH 28-Sep-2011 [9560x2] | I really need to update the guru-level docs, but someone else needs to read the updated version and write a user-level doc. I understand the details too well to be that good at explaining things to regular users. |
It would be especially useful for the guru-level docs to explain the rationale behind the design decisions. | |
Jerry 28-Sep-2011 [9562] | I might be able to do that as a by-product of learning R3 module. |
BrianH 28-Sep-2011 [9563] | Cool. I'll remember you said that :) |
Jerry 28-Sep-2011 [9564x2] | I have 10 days vacation, I am totally free before Oct 9th. I plan to read the R3 source code and refactoring my Translation Engine which was written in R3. |
But as you can see, my Enginsh might not be good enough. That's the only thing that I worried about. | |
BrianH 28-Sep-2011 [9566] | That might not be a problem - I am a better editor than a writer. |
Jerry 28-Sep-2011 [9567] | BrianH, I will send you a R3-Module Doc after my vacation for you to correct. Actually, I was a technical Editor in O'Reilly Taiwan. Of course, The books that I edited were all in Chinese. |
Sunanda 29-Sep-2011 [9568] | Question for Carl? :) http://stackoverflow.com/questions/7577186/is-rebol-still-alive |
Jerry 4-Oct-2011 [9569] | I've read info out R3 Module Details from DocBase, R3 Blog and its comments, and source code. Many pieces of info are conflicted. It's annoying. |
BrianH 4-Oct-2011 [9570x3] | Yup. The source code represents the current intended design, though one question has popped up recently that didn't arise during the design process. The !REBOL3 Modules group here has a lot of info too. I hope to get the chance soon to go over the docs on rebol.net and update them to the latest design. I was going to do that last weekend, but I got really sick. However, I am using REBOL at work now for utilities, so I can afford to work on it again here and there. |
I find that the source and the !REBOL3 Modules group are the best places to look for now if you want low-level docs and usage tips. | |
Andreas asked a lot of good questions :) | |
Jerry 4-Oct-2011 [9573] | OK. Thanks BrianH. Take care of yourself. |
Ladislav 8-Oct-2011 [9574x3] | Brian, regarding BIND, I mean e.g. this: >> f: make function! compose/only [[a b c](body: [a do c])] >> a: first body == a >> f 1 1 [a + b] ** Script error: b has no value ** Where: do f ** Near: do c >> f 1 1 bind [a + b] first body ** Script error: none word is not bound to a context ** Where: bind ** Near: bind [a + b] first body |
That is annoying, since it is actually false | |
here is how I can circumvent it: | |
BrianH 8-Oct-2011 [9577] | The 'b in that case is just data, not the argument b. It's another word which has the same name but a different context. |
Ladislav 8-Oct-2011 [9578x2] | yes, that is the unbound block, that does not matter |
here is a way how I can circumvent it: f 1 1 change [a] first body | |
BrianH 8-Oct-2011 [9580] | Yeah, it is an interesting efficiency hack that MAKE function! does a BIND on the function body instead of a BIND/copy. It does mean that you need to be careful with the runtime accessibility of your source though. |
Ladislav 8-Oct-2011 [9581x2] | MAKE function! does a BIND on the function body instead of a BIND/copy - it is not only for efficiency, it is actually the proper way even for safety |
I do like that. but, nevertheless, the MAKE function is able to bind, while I am not, which proves, that it is just an artificial, (not making anything more secure) and annoying limitation | |
BrianH 8-Oct-2011 [9583] | it is actually the proper way even for safety - Why so? Once the function is made, security dictates that the accessibility of its bound body should be limited. If you can get a bound body, you can trace through the bindings to get access to any internal code it references. That is why R3's BODY-OF does something like an UNBIND/deep COPY/deep. If MAKE function! does a BIND rather than a BIND/copy, that means that any extant references to the original body block argument are a potential security hole unless they are contained. |
Ladislav 8-Oct-2011 [9584] | security dictates that the accessibility of its bound body should be limited - yes, and it normally is For that it suffices for you to use the FUNC function, and, voila, you are safe. |
BrianH 8-Oct-2011 [9585] | Yes, we've made other functions help work around the potential security weakness of MAKE function! - that's the tradeoff we made for efficiency. And as long as you either use COPY/deep generators like FUNC, or control the accessibility of your source, it's a really good tradeoff. |
Ladislav 8-Oct-2011 [9586] | Well, for me, that is better than the R2 approach, where it actually is the other way around, i.e. insecure. |
BrianH 8-Oct-2011 [9587] | Definitely. Sometimes it's hard to go back to R2 after programming in R3 - you get spoiled by the advantages. |
Ladislav 8-Oct-2011 [9588x2] | But, that does not solve the BIND annoyance. |
In my opinion, BIND should simply obey and not annoy with error message in such a case | |
older newer | first last |