• Home
  • Script library
  • AltME Archive
  • Mailing list
  • Articles Index
  • Site search
 

World: r4wp

[!REBOL3] General discussion about REBOL 3

Maxim
21-Jan-2013
[850x4]
but I'll probably be using modules as the basic construct for slim 
R3, instead of objects... in my model, it might not really matter, 
I manage access/biding to/from modules actually altering and expanding 
the module when it is being loaded.


the data being sent to slim isn't executed directly, the block is 
sent to a manager, which does some binding and security stuff first.
it also adds some extra capabilities to all modules, stuff like vprint/vlogging.
anyhow... Brian and I will eventually get to actually implementing 
the R3 module /  slim model sometime this year.  I don't want to 
start a philosophical debate here.  :-)
I mean, I will implement, based on discussions and tests I'll have 
with Brian, to understand the intricasies of why/how modules are 
as they are now.
Gregg
21-Jan-2013
[854x2]
Brian, is there a doc that has your above comments in it? http://www.rebol.net/wiki/Module_Design_Details
looks like it covers a lot of ground, but I don't know if you wrote 
it, and whether it has some of the design notes included. I think 
they're very useful and informative.
And it should have links to Slim and other alternatives.
BrianH
21-Jan-2013
[856]
Gregg, I wrote that doc (and forgot the link, thanks), but it needs 
updating. It is about one or two rewrites behind.
Gregg
21-Jan-2013
[857]
Hard to keep up, and keep track, with everything. :-)
BrianH
21-Jan-2013
[858x5]
Maxim, slim modules are like R3's named private isolated modules. 
And the equivalent of the "global library area" in R2 is system/words, 
so if you have any code that binds to or imports from system/words 
then you have the equivalent of lib.
Btw, module systems like slim are the reason why I changed the underspecified 
parts of Carl's original module system into features that you might 
find familiar. It wasn't based on slim specifically, or even Gabriele's 
system, but an earlier module system that I wrote for the Apache 
module version of R2 back in 1999. It had similar characteristics 
to your module systems because I had come from strong modular languages 
like Oberon and Delphi, and because I had to solve some of the same 
problems you did.
Most of the characteristics of R3's module system are the result 
of combining the system model of R3, the binding model of Rebol, 
and Carl's goal of simplifying things for developers not familiar 
to modular programming. Every bit of syntax that Carl wanted to be 
optional or minimal in order to make things easier for end-developers 
had semantic consequences. The runtime library lib, for instance, 
is the result of having to manage a modular multithreading system 
that can be used by scripts that can be written as if R3 were single-tasking 
and monolithic like R2. Doing that requires that modules have certain 
characteristics (such as a name).
Adding the slim management tools won't change the semantic model 
of R3's modules much, because that semantic model is the result of 
the system model. However, applications designed to be managed by 
slim would likely use a different module type by default than applications 
that are designed around R3's model. Same for porting stuff written 
for Gabriele's module system, you'd be using the same module type 
(named private isolated). That's OK, R3's module system supports 
those models already :)
If R3's system model changes, that *would* affect the semantic model 
of modules. Right now the task! model is a bit underspecified and 
extremely underimplemented, and the module system is built around 
Carl's proposed tasking behavior. If that changes, as it might since 
Carl's proposal isn't fully implemented yet and is incomplete even 
in spec, then we might have to tweak the semantic model of modules 
accordingly.
Ladislav
21-Jan-2013
[863x2]
News for people interested in decimal molding:

>> system/version
== 2.101.0.3.1

>> mold 0.1
== "0.1"

>> mold 0.3
== "0.3"

>> mold 0.30000000000000004
== "0.3"

>> mold/all 0.30000000000000004
== "0.30000000000000004"

>> mold/all 0.3
== "0.3"

>> mold/all 0.1
== "0.1"

>> mold/all 0.10000000000000001
== "0.1"

>> mold/all 0.10000000000000002
== "0.10000000000000002"

>> system/version
== 2.101.0.3.1

>> mold/all 0.10000000000000001
== "0.1"

>> mold/all 0.10000000000000002
== "0.10000000000000002"

>> mold/all 0.3
== "0.3"

>> mold/all 0.30000000000000004
== "0.30000000000000004"
And, BTW, Andreas, regarding the 15 vs 17 digits: I think that we 
can give in easily in this case, just put 

system/options/decimal-digits: 17


to your rebol.r and MOLD decimal will behave exactly like MOLD/ALL 
decimal.
GrahamC
21-Jan-2013
[865]
In R2 I have this

>> any-string? read/binary %test-module.r
== true

In R3
>> any-string? read %test-module.r
== false
Andreas
21-Jan-2013
[866]
Yes, Graham, in R3 a binary! is not an any-string!:
>> any-string!
== make typeset! [string! file! email! url! tag!]
GrahamC
21-Jan-2013
[867x2]
Why?
the change?
Andreas
21-Jan-2013
[869x2]
I'd assume because only Unicode datatypes are considered any-string! 
now.
Ladislav: looks great!
Gregg
21-Jan-2013
[871]
Thanks for posting that Ladislav! Keep up the good work.
GrahamC
21-Jan-2013
[872x2]
https://github.com/gchiu/Rebol3/blob/master/protocols/prot-send.r
and with the latest prot-smtp.r can now send attachments .. I tried 
a 60Mb one and it went fine.


same syntax as in R2

send/attach [carl-:-rebol-:-com] "Carl, need to remove the spam from blog 
comments" %attachment.exe
Lost text = I send a 60Mb avi as an attachment which went through
Oldes
23-Jan-2013
[874x2]
Graham, I'm really not sure it's good idea to show these commands 
on web-public forum. Why don't you use your email in such a cases?
Regarding binary not a string - string is unicode which may differ 
per platforms.
GrahamC
23-Jan-2013
[876]
Oldes, I believe emails are scrubbed by the script that uploads these 
feeds to the rebol.org site
Bo
23-Jan-2013
[877]
And [carl-:-rebol-:-com] is not Carl's email address any longer. :-)
Arnold
23-Jan-2013
[878]
? He owns the domain rebol.com doesn't he? So he gets all emailaddresses 
with that domain. Unless he assigns someone else one of those emailaddresses 
it is his. So he might not be using it anymore or somebody else is 
using it now?
Bo
23-Jan-2013
[879]
All emails to [carl-:-rebol-:-com] get redirected to null. :-)
Arnold
23-Jan-2013
[880]
Sometimes those seem like the same thing yes indeed :-)
GrahamC
23-Jan-2013
[881]
I know what Carl uses as his email and yes, I knew it wasn't what 
I wrote above.  Last time I looked he had an s at the end of this 
name.
Arnold
23-Jan-2013
[882]
correct
Gregg
23-Jan-2013
[883]
Now he'll have to change it again, as this is web public. ;-)
GrahamC
23-Jan-2013
[884]
Nah, this is to prevent harvesting of email by bots
Arnold
23-Jan-2013
[885]
that is one of my objection in making all these groups web-public.
GrahamC
23-Jan-2013
[886]
If they weren't web public, we wouldn't be here
Sunanda
23-Jan-2013
[887]
email addresses in posts are munged on the rebol.org archive .....so 
they should be safe from bots.
GrahamC
23-Jan-2013
[888]
Is there a document anywhere that outlines the differences between 
R2 and R3 for those porting/writing apps now?  I'm thinking that 
those of us still using R2 should try and stick to something that 
will be compatible with R3.
MaxV
24-Jan-2013
[889]
The email of Carl is  [open-:-rebol-:-com]
Ladislav
24-Jan-2013
[890]
This is a public group, MaxV! I assume that your action will force 
Carl to change his address and not give it to you...
MaxV
24-Jan-2013
[891x2]
Hey! Carl published the email on his blog!
Were you serious?
Ladislav
24-Jan-2013
[893]
I do not know, but Carl was quite shy of publishing is mail address
MaxV
24-Jan-2013
[894]
Well, it isn't a personal email, is the email of the opensource rebol 
that he published, so he can ignore that email adress as he wish...
Ladislav
24-Jan-2013
[895]
Which is what we ceratainly do not want. Please use some reason before 
publishing that may be perceived as private especially if it is not 
your private data.
BrianH
24-Jan-2013
[896]
Regardless if email addresses are munged in the rebol.org archives, 
don't post real email addresses in a web-public group unless you 
are attempting to test spam filters.
Maxim
24-Jan-2013
[897]
I agree with everyone, but the given address by MaxV is a *very* 
public mail address, so its not that big a deal IMHO.
BrianH
24-Jan-2013
[898]
Just good policy :)
Scot
24-Jan-2013
[899]
As a matter of practice I generally share contact information for 
other people ONLY through individual private channels and NEVER on 
email.  Just a thought.