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

World: r4wp

[#Red] Red language group

MagnussonC
27-Aug-2012
[1483]
I guess then that some code from R2/R3 applications will be reusable 
in Red (as Red uses Rebol syntax), but not the GUI code.
DocKimbel
27-Aug-2012
[1484]
R2/R3: probable, for the GUI code, it depends how close our VID version 
will be (R3 VID seems to be a good model that we could push further).
Rebolek
27-Aug-2012
[1485]
I have this code for Red/System DLL:

f-1423181: func [a [integer!] return: [integer!]] [a + 1]
f-10584225: func [a [integer!] return: [integer!]] [a - 1]
#export [f-1423181 f-10584225]

and this code in R2 to load it which throws error:

>> lib: load/library %builds/routines.dll

>> foo: make routine!  [a [integer!] return: [integer!]] lib "f-1423181"

>> bar: make routine!  [a [integer!] return: [integer!]] lib "f-10584225"
** Access Error: Cannot open f-10584225

Is it Red/System or R2 problem?
DocKimbel
27-Aug-2012
[1486x4]
Let me test that...
Error reproduced, looking for the cause...
Rebolek: issue fixed.
(fix pushed)
Rebolek
27-Aug-2012
[1490]
Yes, works now. Thanks!
Kaj
27-Aug-2012
[1491x2]
How am I supposed to cross-compile a Windows DLL from Linux? I'm 
getting an internal compiler error with any combination of -dlib, 
-t WinDLL and -t Windows
Oddly, -dlib does produce an .so
DocKimbel
27-Aug-2012
[1493x2]
-dlib just activates the flag for generating a shared lib for the 
systems the compiler runs on.
From a non-Windows system, you have to use -t WinDLL target (and 
just that).
Kaj
27-Aug-2012
[1495x2]
That's what I thought. It looks like the crash happens when there 
are no exports
May I suggest that -shared is a more common switch, usually on systems 
using GCC?
DocKimbel
27-Aug-2012
[1497]
I guess we need an error message in such case.
Kaj
27-Aug-2012
[1498]
It also crashes when there's executable code outside functions. I 
guess that's disallowed
DocKimbel
27-Aug-2012
[1499x3]
There are short and long switches, -dlib is already a bit too long, 
so it might be reduced further in the future, the long version is: 
--dynamic-lib.
I prefer the dynamic/static naming scheme for libraries than shared/static.
Code outside: it shouldn't affect the library as it will never be 
run. I'm testing that...
Kaj
27-Aug-2012
[1502]
The compiler seems to crash on it
DocKimbel
27-Aug-2012
[1503]
Can't make it crash that way...what global code are you using?
Kaj
27-Aug-2012
[1504]
A lot of stuff. Just my way of claying a new binding out of an old 
one. We'll see when I encounter some specific situation
DocKimbel
27-Aug-2012
[1505x2]
Have you tried loading a Red/System DLL with Wine?
I've pushed a fix for the compiler crashing on missing #export.
Kaj
27-Aug-2012
[1507x5]
Thanks. No, I don't have a meaningful DLL yet
Don't really have WINE, either. I'd have to dig out the laptop
I'm confused by
https://github.com/dockimbel/Red/commit/0443c4c4fe9bd7a2a86f9b62b566b80f310539e4
I thought the callback attribute was replaced?
DocKimbel
28-Aug-2012
[1512x2]
The callback attribute is added automatically to a function when 
passed as get-word. But there are some cases where  it needs to be 
manually set, like for the ***-dll-entry-point function from the 
runtime.
The callback was never replaced, just inferred.
Jerry
1-Sep-2012
[1514]
Doc, will you extract all the information string of Red source code 
into a file, so I can translate them into Chinese without modifying 
the source code.
DocKimbel
1-Sep-2012
[1515]
You mean the docstring for functions (which we don't have yet), or 
all the code comments?
Jerry
1-Sep-2012
[1516]
Doc, I mean the docstring, error messages ...
Pekr
4-Sep-2012
[1517x2]
New Twitter message from Doc: "Making good progress on Red language 
layer, got a stable core compiler now and minimal datatypes set"
Go Doc, Go! :-)
Jerry
4-Sep-2012
[1519]
Great.
Henrik
4-Sep-2012
[1520]
sounds great
Jerry
4-Sep-2012
[1521]
V5!!! ... Which means "Great! Wonderful!" in the Modern Chinese Cyber 
World.
DocKimbel
4-Sep-2012
[1522x3]
There are still a lot of details to work on, but the core part is 
there. The bootstrapping does had several complications (like literal 
series handling) that will vanish once we get Red compiler rewritten 
in Red.
Thanks Jerry! :-)
*had => add
Henrik
4-Sep-2012
[1525]
Doc, this is where we need that screenshot, like the one Linus Thorvalds 
took of the Linux kernel, when he showed it was able to switch tasks 
back in 1991. :-)
DocKimbel
4-Sep-2012
[1526]
:-) Never seen that one, got an URL?
Henrik
4-Sep-2012
[1527x2]
I was looking for it... but now I can't find it.
Maybe there is no original screenshot and I remember it wrong, but 
the kernel exists and you can test it. It's Linux 0.00 and the major 
feature is switching between two tasks that print A and B in the 
console:

http://gunkies.org/wiki/Linux_0.00
DocKimbel
4-Sep-2012
[1529]
I should be able to make a "hello word" script in Red in a few days. 
I still have to make some design decision wrt Unicode internal handling, 
that's really a complex part.
Henrik
4-Sep-2012
[1530]
I'm wondering if this is "easy"? Is the development path laid out 
or do you really carefully need to think about each step?
DocKimbel
4-Sep-2012
[1531]
No easy way AFAICT, even if the big picture is there, you need to 
think and take decisions for a lot of details every day, even if 
you try to isolate parts, you always end up with some conflicts to 
solve both at the design and implementation levels.
Henrik
4-Sep-2012
[1532]
ok