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

World: r3wp

[!REBOL3 Priorities] Project priorities discussion

Ladislav
14-Nov-2009
[300]
Geomol: the http://www.rebol.net/wiki/Moneypage is accurate (AFAIK), 
so the doc needs to be
updated in accordance with that.
Geomol
14-Nov-2009
[301]
Thanks, Ladislav.
Ladislav
14-Nov-2009
[302]
The money! datatype calculations are much slower, I guess that is 
the price of accuracy

 - the money! datatype is implemented in software, while the decimal! 
 datatype is implemented in hardware (FPU).
Maxim
14-Nov-2009
[303x2]
Geomol, all the work on R3 was not about improving the runtime (host 
code)... as much as the language (the core dll).


improving the runtime is easier/faster cause decisions are either 
obvious or straightworward.  work on the core is both tedious, highly 
philosophical, and complex.  add one assembly instruction to functions 
evaluation and you've slowed functions down 50%, everything design 
Carl changes, basically cause side-effects else where, its a very 
organic process.


I see it like a closed system, where the slightest change causes 
feedback where you have to stop everything and start again, until 
the system is balanced and doesn't feedback.  then you add another 
thing to the system.
the host is a totally different beast.  once a few of us have the 
host code and start hitting it with "applied" code, 2 things will 
happen IMHO:


* The core work will start to shift from "completing" R3 (architeture) 
to "finishing" it. (bugs, optimisations, docs, etc).


* R3's theoric usability (which is what pekr keeps refering too ;-) 
will be replaced by more and more "applied" usability, what you, 
I, and many others have been actively refering as "a working" version 
of R3.
BrianH
14-Nov-2009
[305]
This "closed system" has nothing to do with source availability, 
of course. As an example, value lookup from words associated with 
function! contexts is 28% slower that of object! contexts, just because 
of the addition of one instruction for stack indirection.
Maxim
14-Nov-2009
[306x2]
it seems the word "closed" is too closely coupled to souce in CS.... 
by "closed system" I do put the emphasis on "system"  as in a chaotic 
system, like a complex frequency modulation patchbay or a closed-circuit 
video system where a monitor is in the view of the camera.
souce=source
BrianH
14-Nov-2009
[308]
Just trying to head off another useless, off-topic source licensing 
flamewar :(
Maxim
14-Nov-2009
[309x2]
at first I did understand what you meant, I started a reply and then 
realized that you where explaining what I meant by closed... so I 
further expanded hehehe... no chance for mis-comprehension now  ;-)
did=didn't
BrianH
14-Nov-2009
[311]
did=didn't
 - LOL, yeah, no chance for mis-comprehension :)
Maxim
14-Nov-2009
[312x2]
;-)
I have the Reichart chat disorder...  In my case, I litterally see 
and read the word in my mind... not on the screen... so when I post, 
I often don't even realize words are missing or totally wrong... 
;-)
Reichart
14-Nov-2009
[314]
...I have considered moving to "!did" as in "NOT DID" to fix that 
problem.  I really hate that polar words are not MORE different. 
 

For example even better than !did would be "did" and pop" for example. 
 Where "pop" is the negative of "did".
Maxim
14-Nov-2009
[315x2]
we should all dump all languages and just learn latin... stop the 
language madness  ;-)
to me, latin is to language what math is to physics.  logic, order 
and structure... applied to chaos and randomness  :-)
Reichart
14-Nov-2009
[317]
d;accordus
Maxim
14-Nov-2009
[318]
hehe
Geomol
14-Nov-2009
[319]
I remember writing a program many years ago on my Amiga, that would 
change the input to what I choosed using a simple lookup table. I 
used it to write fast in e.g. IRC, where I would make a table with 
the 3 first letters of many english words. When I wrote 3 letters 
and pressed space, it would write the full word. Could be used to 
change things like !did to didn't. The good thing with the Amiga 
was, I connected to the console device (or what it was called), so 
the program worked everwhere with all other programs using the OS. 
Could also be used to e.g. program fast using shortcuts for command 
words.
Graham
14-Nov-2009
[320x2]
Max, makes more sense to switch to mandarin as it is the language 
spoken by the most people
3 letters like asm op codes?
Maxim
14-Nov-2009
[322x2]
Geo,   I did the EXACT same thing... I had ALL of language E mapped 
in the commodities with some control key being required for the few 
letter words to be converted to  language E equivalent  :-) 


coding was like ctrl+i var=1 ctrl+t ctrl+p "value = 1" ctrl+e   (if 
var=1 then print "value=1" endif   :-)
I meant all languages... AFAIK asians also use language  ;-)
Graham
14-Nov-2009
[324]
If you used basic .. you only needed the first couple of chars anyway
shadwolf
17-Nov-2009
[325x3]
GEomol and henrick OR YOU CAN STOP USING PAST CENTURY COMPUTERS THAT'S 
GOOD TOO !!! 


>> x: now/time a: 1. b: 2. loop 10000000 [a + b * a / b] now/time 
- x
== 0:00:03
Take that baby
it's R2 on my brand new Intel Core i5 750 / 4go DDR3 1333  Mhz   
with UD3  memory card
gemol if you want i can sell you minutes of use of on my computer 
:P
Robert
18-Nov-2009
[328x2]
Take this:


>> x: now/time a: 1. b: 2. loop 10000000 [a + b * a / b] now/time 
- x
== 0:00:03
MacBookPro, 3.06GHz, Wndows in Parallels 5 VM
Geomol
18-Nov-2009
[330]
Heh, my test was about R2 and R3 performance, not to test how fast 
(or slow) one of my computers are. I could have run the code on my 
multi-GHz intel box.
Maxim
19-Nov-2009
[331]
it would be nice for R3 to support LLVM natively..... brian?
Pekr
19-Nov-2009
[332]
but where is LLVM preinstalled? What is the advantage in having R3 
LLVM backend, if I can't find LLVM on my Vista machine? :-)
Maxim
19-Nov-2009
[333x5]
llvm is a compiler.  its not an OS service.
but its a compiler which can be easily embeded into any application.
mesa3D is using it in their driver engine to convert graphic calls 
to any GPU instructions... on the fly.  implementing a driver becomes 
just a question of providing LLVM instruction maps... although not 
trivial... still much simpler than having to go from HW to OS in 
a single driver  ;-D
we could add JIT compilation to rebol, we could have REBOL based 
extensions which are JIT compiled in real-time, for example  :-)
although we could all of this ourself... LLVM is a nice framework 
to make all of that easier.
Pekr
19-Nov-2009
[338]
so it is not a compiler, it is a virtual machine environment, no? 
What is the advantage here? REBOL is its own VM - if we get it to 
every platform, why would we need LLVM? How big is actually LLVM?
Maxim
19-Nov-2009
[339]
LLVM is a compiler, which you can control in real-time and easily 
embed.
Pekr
19-Nov-2009
[340]
Or you, as a dev. simply use LLVM to create REBOL executable? And 
as you have ti LLVM abstracted, you basically code to one host environment? 
I probably don't understand the model correctly ...
Maxim
19-Nov-2009
[341x2]
it would make for a powerfull extension, where we could simply run 
a rebol dialect like Rebolek's REBOL syntaxed-C and compile it in 
real time through an extension which serves as a jump vector manager.
so you code in a language similar to REBOL, but end-up with compiled 
code which is linked dynamically in the host...
Pekr
19-Nov-2009
[343]
how big is that runtime?
Maxim
19-Nov-2009
[344x2]
souce code is 7MB, but probably includes a lot of stuff we can trim 
for our specific purpose. the binaries are big wrt rebol, so it can't 
part of the host code(unless brian can build a very slim version 
of it), but it would make for a very nice extension.
shake, one of the most high-end visual effects software in the world, 
uses a system just like LLVM within their software and it made it 
much faster than all the competition because of it.
Pekr
19-Nov-2009
[346]
if some compiler adds more than 100KB to REBOL, then it is a no go 
:-)
Maxim
19-Nov-2009
[347x2]
sure, its not for the host, but its still not huge, and makes for 
a nice feature I'd add in any of my speed-critical applications, 
if I had access to it.
for elixir, for example, this would be extremely beneficial.
Henrik
19-Nov-2009
[349]
AFAIK, much of OSX is moving to LLVM.