World: r4wp
[#Red] Red language group
older newer | first last |
BrianH 23-Nov-2012 [4360] | I remember there being a spreadsheet expression evaluator that made it a point to have a small enough number of operations in its bytecode that it could fit two operations per byte. That means that with cache issues taken into account, its code was drastically faster than fully compiled code. The interpreter fit entirely in the instruction cache of a 486, and the bytecode was much smaller than regular native instructions, so the bytecode could be pushed into the CPU faster. This kind of a thing is even more of an issue now, with CPUs that are many times more faster than the memory busses, and even bigger caches. |
Kaj 23-Nov-2012 [4361] | On Mandelbrot with 50'000 iterations instead of the standard 1000, Red/System is 80 times faster than R3 |
BrianH 23-Nov-2012 [4362x2] | R3 is obviously not designed with that kind of interpreter though, and isn't even bytecode compiled. That is more a trick for rebcode :) |
GPU shader languages often use that trick though. | |
Kaj 24-Nov-2012 [4364x2] | If anyone wants to help Red and thinks he can't start programming yet, please give it a presence here under Tested on RPi: |
http://elinux.org/RPi_Programming | |
Arnold 24-Nov-2012 [4366] | I have to wait to start programming my Raspberry Pi until I actually get it from Sinterklaas. After that I can try to test Red on it. I watched your presentation on programming in Red on the Raspberry Pi. No Syllable yet? WHat Linux did you use on the Rasp again Kaj? |
Kaj 24-Nov-2012 [4367x5] | Ah, so you volunteer for editing the wiki :-) |
I said it in the video: Raspian, Arch Linux, and my preferred Bodhi Linux (based on Raspian) | |
Raspbian, that is | |
RISC OS runs best, though, but no Red | |
Syllable would have to be ported to ARM, which is a lot of work | |
Arnold 25-Nov-2012 [4372] | Possible to port Red to RISC OS too? Or a lot of work too %Y\ ? I could contribute to the wiki (which one are we talking about here?) Now I have my 10x10 checkers game in Version 1.0.0 released I have some time to spend on the script Doc asked for. Can the specifications be reposted please? |
PeterWood 25-Nov-2012 [4373] | I have just uploaded a basic script to generate Red/System API docs to Github. It could do with a lot of polishing, perhaps you could take a look? |
Jerry 25-Nov-2012 [4374] | Red/System API Docs ... Just what I need, Thanks, Peter. :-) |
Marco 25-Nov-2012 [4375] | I would like to report a bug in red-system. I would prefer not to register myself anywhere. Which is the simplest way ? |
Kaj 25-Nov-2012 [4376] | Arnold, I'm talking about the RPi wiki I linked above |
Arnold 25-Nov-2012 [4377] | Added to the favorites! |
DocKimbel 25-Nov-2012 [4378] | Marco, you can report it here, and someone will then re-post it in the bugtracker on github. |
Marco 25-Nov-2012 [4379] | red-system question: How can I create a simple array of constants? |
Kaj 25-Nov-2012 [4380x4] | That's a bit tricky. There's no explicit support for specifying that |
You can write such a list in the arguments of a function, so you can make a constructor function that takes the constants and delivers the array | |
Actually, when you use a typed constructor function, you already get access to the arguments array, but it's an array of stuct!s of type typed-value! | |
If you can use the array in that form, you can use that trick, but you have to stay within the function because the array is on the stack | |
DocKimbel 25-Nov-2012 [4384] | I have some design notes for supporting literal arrays of scalar values (integers, bytes, floats, booleans), but as we haven't had the need for them in Red construction so far, I have not implemented such support yet. |
Marco 25-Nov-2012 [4385] | I am trying to write a test red-system program but it is a pain: I write it in my editor, then open a Rebol console and do change-dir... do/args ... then: If I open a window console and run the program I can not compile it anymore (it is locked by the console?), and if I try to run it in Rebol with call/console ... it hangs. Which is the right method? |
DocKimbel 25-Nov-2012 [4386] | Are you compiling the same program again while it is already running? |
Marco 25-Nov-2012 [4387] | No, but now I see that I must wait some seconds before a new compilation. |
DocKimbel 25-Nov-2012 [4388] | On which platform are you? |
Marco 25-Nov-2012 [4389] | win 7. Acer Aspire 2.0 Ghz |
DocKimbel 25-Nov-2012 [4390x2] | If I open a window console and run the program I can not compile it anymore (it is locked by the console?), and if I try to run it in Rebol with call/console ... it hangs. I don't get this part...Your program seems to be still running while you think it has finished. |
If you have no loop in your code nor system calls that might block, you could try disabling your anti-virus program to see if that's not the one interfering. | |
PeterWood 25-Nov-2012 [4392x2] | Does call/console work under Windows 7? call/console "ver" causes REBOL to hang on my machine after printing "The handle is invalid twice." |
Perhaps it is better to use call/output? >> console-output: make string! 2000 == "" >> call/output "ver" console-output == 0 >> console-output == "^/Microsoft Windows [Version 6.1.7601]^/" | |
Jerry 25-Nov-2012 [4394] | In C/C++, A file which might be included by other files would likely start with "#ifndef _OOXX_H #define _OOXX_H" and end with "#endif". How would I do that in Red/System? Thanks. |
PeterWood 26-Nov-2012 [4395] | Red/System will only include a file once no matter how many #includes it encounters. |
Jerry 26-Nov-2012 [4396] | Thanks, Peter. |
Kaj 26-Nov-2012 [4397] | Yeah, can't believe they didn't fix that in C* in fourty years |
NickA 26-Nov-2012 [4398] | I'm offering another matching funds drive to help keep Doc working on Red. I'll match funds donated to him by December 25, 2012, up to a total of $1000. If you're interested in Red, please help Doc focus his efforts on the project. |
Kaj 26-Nov-2012 [4399] | Cool :-) |
Arnold 30-Nov-2012 [4400] | I have been testing my compiler help script and notice the compilation of my red test script takes about 150 ms and after that the compiling to native code takes 3791ms and the linking is done in 92 ms. The step in the middle seems to take relative long. This is because Rebol does the bulk of the work here? For the JIT compiler there will be a faster Red compile one. |
DocKimbel 30-Nov-2012 [4401] | The "step in the middle" is the compilation of: - the Red/System code generated from Red code (user + boot script) - the whole Red runtime code (in Red/System) - the whole Red/System runtime code (in Red/System) The current "slowness" is caused mainly by: 1) all the runtime parts being recompiled for each user script 2) REBOL relative slowness The cures are: - for 1), precompile runtime parts, and recompile them only on changes - for 2), Red self-hosted compiler will give a good boost (x10 is my target) Also, the self-hosted Red and Red/System compilation speed will be improved compared to the current versions. In the end, we should have very fast static and dynamic compilation, the target to reach for the JIT compilation mode is less than 100ms for short scripts, typically, most functions should compile under 10ms. |
NickA 30-Nov-2012 [4402] | ^ Things like this are why you're "Doc"Kimbel and not "Mr"Kimbel :) |
DocKimbel 30-Nov-2012 [4403x2] | ;-) |
Actually, there is a quote from Jack Shephard (the doctor and main character in L.o.s.t. TV show) that I repeat to myself when facing lots of new bug reports or complex issues: "I can fix it" ;-) | |
NickA 30-Nov-2012 [4405x2] | That's so dramatic (...and rightfully so at times, I'm sure) :) |
Doc, what are your current expectations about timing for a Red GUI? Do you want to make it VID-like? (my vote is for yes). GUI was the "hook" for R2, and I think a GUI as simple to use as VID, even if not encompassing as many features, would increase RED's appeal dramatically. | |
DocKimbel 30-Nov-2012 [4407] | VID-like: definitely. Not only because it is a simple and efficient way to build GUI, but also because it nicely shows the power of dialecting, applied rightly, so it "validates" the whole concept behind REBOL and Red. I was planning two approaches: - prototype a VID dialect for cross-platforma native GUI once we have the right interfaces between Red and Red/System. (That part will include also mobile platforms, if possible, else, they will have rely on a mobile-oriented GUI dialect). I will probably start to play with it around Christmas, and try to reach an alpha/beta in Q2 2013. - prototype a VID dialect for HTML frontend, having GUI frameworks as backend targets (Sensha, jqueryUI,...). The hard part here is abstracting the client-side coding, Topaz would be great for that, if Gabriele can find time to continue working on it. Else, I will need to work on my own Red to JS compilateur. It would be also nice to have a wrapper over R3/View or a Red/System port of it, but it would need contributors to take it in charge. There are also more possible GUI options. |
Pekr 30-Nov-2012 [4408x2] | The cool stuff to show-off would be - bring your Red on your SD card/USB stick, plug-it-in, go to its dir = show "no-instal" option, show some GUI dialect, press a button, generate android app, and with one command or a dialect, push it to Google play. Then I can send you my friends short/long description, how long it took him to get his app there, downloading and installing all the JAVA crap and all dependencies ... |
That could send a message to the overbloated world out there, and could win some audience ... | |
older newer | first last |