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

World: r4wp

[#Red] Red language group

Oldes
18-Jul-2013
[9484x2]
Only if you don't want to use "cutting edge" versions from github:)
I think that the far future plane is to have Red be made in Red.. 
now it's a little bit fake:) Probably to make it easier for potencial 
newcommeres.
Pekr
18-Jul-2013
[9486x2]
yes, I expect it still being dependent upon R2. What I would do probably, 
is to add R2 for various systems directly into Git repo, I mean - 
executables, and make it - invisible to the user ...
ok, posted to FB ...
Bo
18-Jul-2013
[9488]
Thanks for the insight into how you got around that problem, Doc!
DocKimbel
18-Jul-2013
[9489x3]
Pekr: answer is yes to your above question. But I will wait after 
the 0.3.3 release to add a Red binary to the repo and a build script 
to encap the Red compiler. Also I need to update documentation and 
see with Andreas how we can set up automated builds for each new 
commits.
I forgot that I also need to merge Red and Red/System compiler front-ends, 
so they will be some work for that future release with binary Red. 
I will probably bump the version number to 0.4.0 for that future 
release.
Oldes: you're right, but the encapped Red is just a convenience to 
make it easier to try and use for anyone as we're getting closer 
to a Red beta.
NickA
18-Jul-2013
[9492]
Doc, I admire your consistent work and progress!
Bo
18-Jul-2013
[9493]
Yes, me too.
Pekr
18-Jul-2013
[9494]
Doc - Red beta? :-) Half of features are still missing, I would like 
us getting into alpha in few months :-)
Bo
18-Jul-2013
[9495x2]
Pekr - Every day is a day closer to Red beta.
I don't think he said he was close to a Red beta, but closer.
Kaj
19-Jul-2013
[9497]
Depends on what you compare with. Compared to most languages, Red 
has lots of extra features. If you want to compare with REBOL, then 
a lot is missing from Red, but also a lot of Red features are missing 
from REBOL
Pekr
19-Jul-2013
[9498]
As for me, Alpha means - feature complete, just instable imo, while 
still tweaks here or there might appear. And beta means - 100% feature 
complete, freezed, just bugfixes ...
Kaj
19-Jul-2013
[9499]
Red doesn't fit that. It's not feature complete, but it's stable
Pekr
19-Jul-2013
[9500x2]
And Red is missing a lot - objects, IO, networking, parse, and no, 
having R/S libraries for such purpose available does not make it 
any more feature complete. R/S is a different language and should 
be treated as that ...
No objections towards Red stability ....
Kaj
19-Jul-2013
[9502]
What, more features don't make it more feature complete?
Pekr
19-Jul-2013
[9503]
No, because I am not interested to use R/S, unless necessary.
Kaj
19-Jul-2013
[9504]
In almost all my programs, I have a mix of Red and Red/System, very 
tightly integrated. It's a mistake to regard them as separate languages
Pekr
19-Jul-2013
[9505]
And Doc himself claims from very beginning, that R/S is mostly for 
integrators, as you are. Most ppl will look into Red, and find such 
features missing. I am really not interested into some Curl binding, 
I want Rebol level ports, etc. based networking. So our milleage 
might vary ...
Kaj
19-Jul-2013
[9506]
Yes, this is something we found out along the way. Red/System is 
very powerful
Pekr
19-Jul-2013
[9507]
I have nothing against R/S, in fact - I am liking the overall Red 
architecture. I somehow can't explain it, dunno. Simply put - I worry, 
that basing my programs upon some already existing bindings is risky, 
as Red will provide its own solution later, which will make it incompatible 
imo ...
Kaj
19-Jul-2013
[9508]
You will keep making those thought mistakes as long as you don't 
start programming
Pekr
19-Jul-2013
[9509]
It is kind of Osbourne syndrom with me - waiting for native Red implementation, 
instead of using what is available ... strange feeling ...
Kaj
19-Jul-2013
[9510]
As in Ozzy?
Pekr
19-Jul-2013
[9511]
not, wikipedia term :-) Ozzy is metal singer :-)
Kaj
19-Jul-2013
[9512]
Not familiar with any other kinds of Osbourne syndrome
Pekr
19-Jul-2013
[9513]
Osbourne syndrome is, when company announces some product, its features, 
not releasing it for some time, and customers stop buying their product, 
as they wait for new and better stuff to appear ...
Kaj
19-Jul-2013
[9514x3]
Oh, that Osbourne
That was REBOL. Red is released all the time, so you should start 
yesterday
With a new Red release, you don't have to throw away your previous 
Red. It's still in there. And you don't even have to pay for the 
new
Geomol
19-Jul-2013
[9517]
What's the easiest way to try Red/System? I see do/system and #system 
[ ... ] suggestions in the docs:
http://static.red-lang.org/red-system-specs.html#section-17

, but I don't seem to get it to work.
Kaj
19-Jul-2013
[9518x3]
do/system is unimplemented, #system and #system-global are
But for just using Red/System, giving your program a Red/System header 
is easiest
It's easiest to start from the included examples/tests
Geomol
19-Jul-2013
[9521]
Ok, I'll look at those.
Bo
19-Jul-2013
[9522]
I agree.  I haven't done much with Red yet, but Red/System is great. 
 I wish it was easier to work with strings, but I guess that's when 
I'd want to be using Red.
Kaj
19-Jul-2013
[9523x5]
In our project, I have arrived naturally at an interesting technique 
combining the two
Normally, you would bind low level interfaces or code using Red/System, 
or the DLL interface in R3, or an extension in R3. You would then 
marshall all the arguments of the low level functions back and forth 
to Red or REBOL all the time
In the R2 DLL interface, there's no other way to do it. But in Red, 
I'm keeping all data that Red doesn't need to know about in the Red/System 
level. Many low level arguments don't have to be marshalled to Red 
at all
The bridges are through the ROUTINE functions in Red. I don't give 
them all the arguments of the functions that were bound in #import; 
I only add an argument when it becomes needed in the Red application 
logic
So you're usually handling strings comfortably at the Red level, 
and you can keep simple low level data such as integers and #import 
arguments that only need default values at the Red/System level, 
where they're native datatypes that are handled efficiently
Bo
19-Jul-2013
[9528]
Thanks for the insights, Kaj!
Pekr
19-Jul-2013
[9529x3]
kaj, that is most probably the correct way of how to use it anyway, 
thanks for the hints
i can still imagine an example, when one would like to have more 
expressive R/S. Red does not compile only down to R/S, it also adds 
some Red related framework, which might mean larger executable, loss 
of speed, etc. Not sure what Doc thinks, as he always tells me - 
hey, use Red for such purposes, but maybe, who knows, there is a 
place for more advanced barebones R/S 2.0 after all :-)
I know list of enhancements for R/S 2.0 exists, yet I don't expect 
it having more advanced series handling ...
Kaj
19-Jul-2013
[9532x2]
It's hard to draw the line. If you want to use Red/System on its 
own, you need things like that, so I made some in my bindings. But 
if you use it together with Red, most such things aren't needed
Sometimes the decision is made easier. It would be hard to use Red 
in a kernel driver, for example, so you need everything for Red/System 
that you need to write drivers