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

World: r3wp

[!REBOL3]

BrianH
30-Mar-2011
[7666]
REBOL isn't run on anything approaching a bytecode VM. The block 
data is interpreted directly by the DO function. There is no compilation 
beyond the loading phase.
Geomol
30-Mar-2011
[7667]
Cherngchin, consider this code:

either a = 1 [f: func [b] [b + 42]] [f: 2]
f 1


You can't define a single vm instruction for 'f' in the last line. 
'f' can be a function or a simple integer.
Oldes
30-Mar-2011
[7668]
f: either a = 1 [func [b] [b + 42]] [2] ;would be more REBOL way:)
Cherngchin
31-Mar-2011
[7669]
Hi, I roughtly watch the RedCode they are not look like Stack Machine 
, but more like Register Machine ,  a little bit like 68K Address 
Mode ,  that mean the REBOL3 VM has better performance on the RISC 
Machine , not  Stack Machine , it is right  or not ?
BrianH
31-Mar-2011
[7670x4]
Red is compiled. REBOL is not, and many REBOL features aren't compilable 
to any kind of bytecode. Red won't have those features.
REBOL 3 doesn't have a VM at all.
We would of course welcome any attempts to accelerate Red on an FPGA, 
or even REBOL if you can figure out what that would mean. One thing 
to consider is that Red doesn't have a VM either. The Red/System 
compiler compiles to native code directly. In the future, Red will 
have a JIT compiler, but even that will probably be direct from the 
data structures rather than from a bytecode.
You might find that R3 could be accellerated by FPGA implementations 
of its function dispatch model, and especially action dispatch (redirecting 
to type-specific implementations of standard functions). Direct support 
for its data model might help too, for operating on blocks of value 
slots. The REBOL execution model doesn't really correspond to either 
a register-based or stack-based model, but the interpreter does have 
its own semantic model and you might be able to come up with a minimized 
core of that model that you could implement in hardware directly. 
I don't have enough knowledge of the limits of FPGAs to know for 
sure.
Gabriele
31-Mar-2011
[7674]
It would be possible to make hardware that interprets REBOL values 
directly (it would be VLIW in the sense, that REBOL values are usually 
large, ie. 16 bytes in R2), however the hard part is striking a balance 
between complexity and utility.


The simple fact that code would not be "flat" but more like a tree 
would pose a lot of issues compared to the mainstream hardware architectures.
BrianH
31-Mar-2011
[7675x2]
Unlike JVM bytecodes, which were designed to be implemented in hardware, 
or CLR bytecodes, which were designed for JIT compilation, REBOL's 
semantic model was designed for efficient interpretation from the 
start, and then made more efficiently interpreted over time. A machine 
interpreter for the REBOL semantics would not really resemble the 
machine architectures with which you are familiar (maybe the Lisp 
machine?).
If you were going to be doing this in hardware, it would be likely 
that there would be some changes to the details of the data model 
to make that more efficient. However, to keep the real advantages 
to REBOL's semantic model, the core principles would still need to 
stand.
shadwolf
6-Apr-2011
[7677x5]
who cares the developpement is on hold Carl have better more profitable 
things to do than loose his time with rebol 3
brianH none of the non compilable programming languages was a success. 
Face it Softwares companies want to steal idea from public domain 
but don't want anyone to steal from them that's how it is. And as 
compilation hum brianH SDK is a half assed intent to hide source 
codes of rebol scripts to people common view no ? So the statement 
I'm making Carl made it like 9 years ago when he create the sdk branch...
what are the things not compilable ? list them and then we will see 
if there are of any interrest in fact, if you want to discuss  things 
come with arguments for the discussion and not
come with hum it's not possible cause the guru said so.
Carl is killing rebol for many years now you don't believe it but 
that's how it is...
GrahamC
7-Apr-2011
[7682]
Now close is R3 to first beta?  Now that Carl has a job ... it looks 
live the core development is going to be stalled for a while yet.
Kaj
7-Apr-2011
[7683x2]
So close and yet so far away. It could easily be called a beta right 
now, and a release with some more bugs fixed and just a bit more 
implementation, for example in SORT
But obviously, if no progress is made towards that anymore, it can 
still take a long time
GrahamC
7-Apr-2011
[7685]
Can't sorts be done as an extension?
Kaj
7-Apr-2011
[7686x3]
Yes, but that's not really relevant to beta status
I'm using a REBOL implementation
I think someone else did a binding to a sort library
GrahamC
7-Apr-2011
[7689]
Ok, I guess the question is then , how blocking is Carl's absence 
going to be ?
PeterWood
7-Apr-2011
[7690]
R3 has a real chicken and egg problem. Much work could be done without 
Carl's direct involvement but for many people Carl's work is not 
yet sufficiently complete for them to do it. (A good example being 
the work you've put into R3 schemes, Graham).


The RM-Asset team are doing a great job of making progress with R3/GUI. 
Lets hope that they can continue and don't hit some issues which 
will need a lot of Carl's time to fix.
GrahamC
7-Apr-2011
[7691x3]
Peter, as far as I recall, the schemes I worked on 2 years ago did 
work .. but I was waiting for Carl's promised review so everyone 
would know whether this was the way he wanted things done or not. 
 Nobody wants to have the same issue that Gabriele had of writing 
code ( VID, http ) which is then deemed to complex or hard to maintain.
In this respect ... I did not want history to repeat
In Carl's absence .. we need a project lead who is going to take 
over .. or we just do the Milton thing
PeterWood
7-Apr-2011
[7694]
If your schemes had been used for the last two years wouldnt they 
be the de-facto schemes by now?
GrahamC
7-Apr-2011
[7695x2]
I never completed the user interface to them ... just tested that 
the basic functionality was present.
No point in polishing them if Carl had something else in mind
PeterWood
7-Apr-2011
[7697]
The big question is where to publish them as there isn't a single 
repository for REBOL as there is for other languages CPAN, PEAR, 
GEMS etc.
GrahamC
7-Apr-2011
[7698]
Pretty much most things are now on github are they not?
PeterWood
7-Apr-2011
[7699x2]
I disagree with there being no point in polishing things if Carl 
has something else in mind. Code only needs Carl's approval if it 
is to be included inside the executables that he publishes.
github is popular for source code but not for distributable modules. 
Many Ruby/Gems source code can be found on github but they are still 
distributed via GEMS.
GrahamC
7-Apr-2011
[7701]
Peter, I think schemes come into that class
PeterWood
7-Apr-2011
[7702x2]
Nobody can take over from Carl as he has complete control over the 
source of the "core" of REBOL. Different people could take the lead 
for different "non-core" projects. Robert is taking the lead with 
R3/GUI. (Perhaps because he has a need for R3/GUI). You had taken 
the lead with R3/Network schemes.
Why do you think schemes need to be included in the executables published 
by Carl?
GrahamC
7-Apr-2011
[7704]
because people would expect to have things like ftp, smtp, pop3 in 
the distributed exe
PeterWood
7-Apr-2011
[7705]
Why? Because they were included with R2?
GrahamC
7-Apr-2011
[7706x3]
because http is included with r3
I have a question for Kaj .. does the curl binding mean we can use 
https as a scheme now?
Pretty much everything I do requires SSL these days
PeterWood
7-Apr-2011
[7709x3]
A partial implementation of http is inlcuded in R3, most likely because 
it is needed by R3 itself.
It is going to be a long. long time before there is a version of 
R3 published which inlcudes ftp, smtp and pop3.
I do know how to spell include just now hoe to type it !!
GrahamC
7-Apr-2011
[7712]
I thought there was a way that one could include one's own schemes 
in a binary .. but I never got it to work
Kaj
7-Apr-2011
[7713x2]
You can use SSL in the cURL binding, but I haven't written scheme 
wrappers yet. Due to incomplete documentation, that's going to be 
a lot of work
Basically the same issues you had
MikeL
8-Apr-2011
[7715]
Would Curl-to-R3 be able to solve the NTLM challenge that I have 
... similar to Graham's HTTPS for everything these days?