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

World: r4wp

[#Red] Red language group

Pekr
5-Apr-2013
[6902]
Swimming in the sea? It's still winter here :-)
Kaj
5-Apr-2013
[6903]
Doc likes to get sick for months on end
DocKimbel
5-Apr-2013
[6904x2]
Will be 22°C tomorrow, a shiny day, water should be still a bit cold 
though. :-P
Yeah, I just recover a few weeks ago from winter flu, time to play 
with another virus. ;-)
Pekr
5-Apr-2013
[6906]
beware of Ren - new form is appearing ....
DocKimbel
5-Apr-2013
[6907]
Hope that one will spread everywhere. ;-)
Kaj
5-Apr-2013
[6908]
Do you think multiple compiler processes can run at the same time, 
or would they clobber shared files?
Gregg
6-Apr-2013
[6909]
If I do this in the console:


foreach word system/words [print [mold word tab mold type? get word]]

I get a long list of words, that end with this:
...
do-console      function!
red-prompt      unset!
mode    unset!
switch-mode     unset!
eval    unset!
code    unset!
result  unset!
cnt     unset!
mono    unset!
block   unset!
q       function!
red>>


Now, if I paste a bunch of code in the console and do it again, the 
newly added words all come back as type datatype!.  e.g.
...
block   unset!
q       function!
Title   datatype!
Author  datatype!
File    datatype!
Tabs    datatype!
any-function?   datatype!
...
DocKimbel
7-Apr-2013
[6910x2]
Multiple compiler processes at the same time: I see no issue doing 
that as Red is doing it all in memory.
Gregg: looks like a bug related to the one fixed recently about system/words 
returning datatype! only.
Kaj
7-Apr-2013
[6912]
Doc, no log files?
DocKimbel
7-Apr-2013
[6913]
Nope, logs are optional and when requested, there are emitted on 
stdout.
Kaj
7-Apr-2013
[6914x2]
OK, thanks
I'm moving to a new dual-core machine. When compiling Red, it uses 
only one core, so I'm considering using 0MQ to make use of the extra 
core
DocKimbel
7-Apr-2013
[6916]
When we'll have modular compilation, we'll be able to leverage multicore 
processors.
Arnold
7-Apr-2013
[6917]
A new dual core machine? Do they still manufactor those? 

I kind of had the idea the OS decides when to use more than one processor.
Kaj
7-Apr-2013
[6918x3]
It's only seven years old. :-) My previous machine is eleven years 
old
If your program is only one process and no threads, it's impossible 
for an OS to run it on more than one core at the same time
So on your eight-core machines, only one is really used :-)
Arnold
7-Apr-2013
[6921]
sometimes I wonder about that even. Must be calculating that spinning 
wheel then.
Kaj
7-Apr-2013
[6922x2]
Yep, it could dedicate a whole core to that :-)
I think OS X GUI apps are fundamentally dual-threaded, with one thread 
for the GUI, so in the best case, it uses two cores more or less
Arnold
7-Apr-2013
[6924]
But seriously why not a machine that is more actual? Because you 
prove the minimalistic needs?
Kaj
7-Apr-2013
[6925x3]
Yes; for example, in Syllable Desktop, almost no speedup is noticable 
in regular use
That is to say, the old machine was already more than usually needed 
for Syllable
Our fifteen years old laptops are still among the best machines we 
have to run Syllable on
Arnold
7-Apr-2013
[6928]
Better run an ad in the local paper: "We collect your old PC's for 
free"
Kaj
7-Apr-2013
[6929x4]
Nah, that costs money. We can get computers without ads :-)
Try this in Try REBOL:
call "cat /proc/cpuinfo"
That server was also donated
Oldes
9-Apr-2013
[6933]
It is not possible to create struct with function datatype as a member?
Kaj
9-Apr-2013
[6934]
In most cases, you have to cast to integer! to handle function pointers
Oldes
9-Apr-2013
[6935]
fine.. this got compiled:
wc/lpfnWndProc:  as integer! :WndProc
Gregg
10-Apr-2013
[6936x2]
Haven't checked to see if it's a known issue, but if I append/dup 
with a large number of elements it crashes. I'll try to track down 
the exact number. 75K does it, 65K does not (in a quick int append 
test).
Ah, I tricked myself. It is OK at 65536, but crashes at 65537. I 
thought it wasn't right at the 64K boundary.
DocKimbel
10-Apr-2013
[6938]
It's too early to stress test the memory manager, as it's not yet 
completed for the handling of bigger series.
Pekr
10-Apr-2013
[6939]
Maybe it causes stress to Gregg, that he can't stress-test :-)
Endo
10-Apr-2013
[6940x4]
Here you can compile your Red scripts online and then download the 
compile executable file:
http://bircomteknoloji.com:8181/
You can use it to test for compiling Red scripts and generated executable 
file.
Doc: Red header is case sensitive, red [ ] doesn't compile, "Invalid 
Red program" it says. Red [ ] works.
Some antivirus programs gives false alarm for compiled executables, 
so I think its better to not spread this site too much, people can 
think that it downloads viruses.
Gregg
10-Apr-2013
[6944]
Ah, that would explain my errors Endo. I didn't include a header.
DocKimbel
10-Apr-2013
[6945x5]
Endo, nice work! Could come handy sometimes.
For false alarms from AV software, please report them to me so I 
can contact AV vendors to whitelist Red binaries.
For Red header, I've made it case sensitive on purpose as, unlike 
Rebol which is a very uncommon name, Red is very common, the risk 
of a false header detection is much higher (for scripts embedded 
in HTML, makedoc document, etc...). So the case-sensitivity would 
lower the number of false positives. An added benefit is that it 
forces users to write Red name correctly, so not RED or red.
Endo, you could even make it a webservice that could be used with 
a simple WGET call from a command-line. ;-)
Also, when asking for the file to be downloaded, you should rename 
the file to something more human-friendly or ask the name from the 
user. You can use Content-Disposition HTTP field for doing that easily. 
Here's an example from one of CureCode's RSP:

        response/buffer: get-modes file 'full-path	

        response/set-header 'Content-Disposition  rejoin [{filename="} name 
        {"}]
Gregg
10-Apr-2013
[6950x2]
On the header, having it be Red may lead to the most false positives. 
If it's at the top of a file, it would normally be capitalized.
As long as it must be followed by a left bracket, you should be OK 
though.