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

World: r4wp

[#Red] Red language group

Kaj
28-May-2013
[8021]
Do you have a 64 bit system?
Geomol
28-May-2013
[8022]
yes
Kaj
28-May-2013
[8023]
Hm, then you have to find out how to get Homebrew to compile 32 bit 
versions of all that
Geomol
28-May-2013
[8024x3]
ok
Gotta get some sleep.
Maybe tomorrow. nite nite
Kaj
28-May-2013
[8027x7]
Yeah, later
The easiest way to try Red on Mac is to get the red-core interpreter 
from here:
http://red.esperconsultancy.nl/Red-test/dir?ci=cb632d557a7d83aa&name=Darwin/Red
It uses only libraries known to be shipped with OS X, so it's just 
the one executable. But you do need 32 bit versions of those libraries
There were probably static /usr/local/lib/*.a libraries compiled 
for most of that. Those are perfect for you to link into World
Better use this always current link:
http://red.esperconsultancy.nl/Red-test/dir?ci=tip&name=Darwin/Red
Pekr
28-May-2013
[8034x2]
Geomol - you can watch some slides about what actually is Red - here 
- http://www.red-lang.org/p/about.html
In a short - Red compiles to Red/System. Red/System is intermediate 
language, which then compiles to native platforms. Red/System can 
also generate shared libraries. It all means, that from Windows, 
you can generate OS-X, Linux etc. programs or libraries.


As for Red itself, it is not only compiled though. Doc's intention 
is to bring in a modern hybrid, which will work as compiled, jitted, 
or interpreted, upon the need of the programmer or the app. So, what 
we have also got is Red interpreter and console too. JIT has yet 
to come.


Recently Red is not complete, Doc took some side-way to bring in 
Android support. That means we had to have shared libraries available 
first, then JAVA/JNI bridge (which is done), nowadays Doc works towards 
generating first .apk. He is on vacation till 3rd of June though. 
After that is done, we will get objects, I/O and parse (IIRC Gabriele 
will write it, just waiting for object support)
Kaj
28-May-2013
[8036x4]
John, it looks like you can supply a --universal option to brew to 
build both 64 and 32 bit versions
https://github.com/mxcl/homebrew/blob/master/Library/Homebrew/build_options.rb
There's a gtk alias for gtk+ :-)
https://github.com/mxcl/homebrew/blob/master/Library/Aliases/gtk
Geomol
29-May-2013
[8040x3]
Ok, thanks both of you.
I begin to get an idea. :)
Some funny slides in there!

How REBOL began 14 years ago...

 - and then an image from the frech revolution with REBOL flags, onto
... and where it is today

 - and the image of a raft at sea with no sight of land, people suffering 
 and great despair.


You need a viking ship in there maybe, sailing off for new adventures 
in a new World.


I feel, Red is a good project, and with BSD license, it should be 
possible to give and take easily, right?
Pekr
29-May-2013
[8043]
yes, you are correct, you can eventually use its code freely. But 
I think it will not be of much usage to you - Red code compiles to 
Red/System, which I regard being something like VM for Red. I also 
think, that you are free to take some code from R3, which is C code, 
and might be more usefull to you, and hopefully Apache2 license fits 
here too ....
Geomol
29-May-2013
[8044]
Red/System is also BSD license, isn't it?
Pekr
29-May-2013
[8045x2]
yes, it is ....
Seems to be BSD-3 ... but you can check it on Github ....
Geomol
29-May-2013
[8047x2]
So I could see World benefit from Red, thinking of JIT-compilation 
or Rebcode kind of feature, and I could see Red benefit from World 
in some of the mezzanines, I've done already, and maybe some of my 
closed source code, that target a certain problem, like the multi-line 
input in the console (blocks and long strings going over more lines). 
And maybe World could even get a garbage collector from Red, as for 
example Gregg ask for in World.
Some johnk at the StackOverflow chat asked for the multi-line code 
from Carl. I've got that in World, if anybody can use it.
Pekr
29-May-2013
[8049x2]
So - are you willing to exchange the code for the good, even if World 
is closed source? That would be nice of course ...
Red has some basic multiline IIRC too, in its console ... But surely, 
and maybe your offer could be posted in REBOL3 group here ....
Geomol
29-May-2013
[8051]
Yes, I am.
Pekr
29-May-2013
[8052]
Do you have parse already implemented? :-)
Geomol
29-May-2013
[8053x3]
yes, as mezzanine. Look for bparse, split-string, sparse and parse 
in
https://github.com/Geomol/World/blob/master/cortex.w
I guess, it can be easily ported to Red?
I think, string parsing is not 100% yet (need to do more tests), 
but block parsing should be there.
james_nak
29-May-2013
[8056]
Thank you Kaj for your reply.
Kaj
29-May-2013
[8057x5]
It would surely be interesting to try to port the World mezzanines 
to Red
My multi-line implementation is here in console.red. It's fairly 
complete; not sure if you have more:
http://red.esperconsultancy.nl/Red-common/dir?ci=tip&name=examples
No GC in Red yet, though :-(
The viking ship is how I always thought about it :-)
Geomol
29-May-2013
[8062x2]
The license for Red at bottom of
https://github.com/dockimbel/Red/blob/master/README.md

state, that the runtime uses the more permissive BSL license. Why 
this distinction?
:) Yeah, us crazy vikings.
Kaj
29-May-2013
[8064]
Because Red needs to compete with other compilers. Classic compilers 
insert only very small pieces of boilerplate code, so that's free 
of rights. Red inserts the entire runtime and interpreter in compiled 
programs, but it needs to compete with that freedom
Geomol
29-May-2013
[8065]
And Red owner could get into trouble, if not giving permission or 
what?
Kaj
29-May-2013
[8066]
No, but people would complain that when they keep programming in 
C++, their executables are more free
Geomol
29-May-2013
[8067]
Licenses kinda sucks, don't they?


When Mozart visited the sixtin chapel in Rome in 1770, he heard a 
secret piece of music, Allegris "Miserere". From memory, he wrote 
the piece down with all 12 voices or how many, when he was back at 
the hotel. Later he received an order from the Pope. Licenses kinda 
remind me of this. Why show or play something for someone else, and 
then at the same time say, you can't use it? :)
Kaj
29-May-2013
[8068x2]
Yeah, it complicates things a lot
So far I have mostly talked about the ability to write R3 extensions 
in Red and Red/System, because I made a specific bridge for that. 
But with Red's ability to generate shared libraries, you can also 
make generic extensions for other systems, such as R2 and World. 
You can write libraries in Red and then import them with the DLL 
interfaces in World and R2
Geomol
29-May-2013
[8070]
nice