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

World: r4wp

[#Red] Red language group

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
Pekr
19-Jul-2013
[9534]
The future and more usage patterns will show what is needed ...
Kaj
19-Jul-2013
[9535]
Yes, it often turns out to be surprising :-)
Pekr
19-Jul-2013
[9536]
I canunderstand, but where exactly would you drive the line? We start 
with series, next we ask for IO, then we request parse :-)
Kaj
19-Jul-2013
[9537]
I/O is already here, and my C library binding has parsing functions 
:-)
Pekr
19-Jul-2013
[9538]
drive = draw
Kaj
19-Jul-2013
[9539]
You'll need them to write Red/System programs, but a lot of it has 
no place in Red. Perhaps that will make it easier to understand why 
most of my stuff is separate from Red
Pekr
19-Jul-2013
[9540x2]
I hop Doc is not going to be demotivated after ReCode. Fork said, 
that Carl said, that if he would be about to rewrite Rebol, he would 
took R3 aproach ..
I expressed my need for R2 like dll interface for R3, as I find it 
easier to use R/S than R3 extensions, and guys said, it will come 
...
Kaj
19-Jul-2013
[9542]
Don't expect that to throw Doc off balance :-)
Pekr
19-Jul-2013
[9543x2]
I am still with Red though, even if Carl stated, he will resume some 
R3 developments. I will follow both projects, hopefully good times 
ahead ...
you know, for our Led screen, I wrapped the dll using r2, red/system 
and world. In fact, it was rather easy to switch. If there is at 
least some level of compatibility, I like the options ...
Kaj
19-Jul-2013
[9545]
Red follows the REBOL model, with batteries included, where you need 
a strict standard. Red/System follows the C model, with a small languages 
that needs to be exttended with libraries, and where many C libraries 
are available that can be bound to Red/System
Pekr
19-Jul-2013
[9546x2]
I thonk I would do it even with r3 extensions, but I am just old 
lazy dog :-)
ah, sorry for typos, typing on my htc using teamviewer connected 
to my notebook. So who said alme is not available on your cell phone? 
:-)
Kaj
19-Jul-2013
[9548]
You could turn your Red/System binding into an R3 extension
Pekr
19-Jul-2013
[9549]
Ah, correct, forgot about that, thsnks for the reminder ...
DocKimbel
19-Jul-2013
[9550x2]
Fork said, that Carl said, that if he would be about to rewrite Rebol, 
he would took R3 aproach ..

 Fortunately I was there so I can give some contextual information: 
 Fork was saying to Carl his famous quote: "Rebol4 is Red". What do 
 you expect Carl to reply to that? ;-)

I hop Doc is not going to be (de)motivated after ReCode.
 No, it's the opposite in fact. ;-)
Red/System is a dialect of Red meant to address specific needs. You 
should see it as a feature of Red, even if it can be used alone (which 
is kind of side-effect of starting Red project by building R/S first).