r3wp [groups: 83 posts: 189283]
  • Home
  • Script library
  • AltME Archive
  • Mailing list
  • Articles Index
  • Site search
 

World: r3wp

[!REBOL3]

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