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

World: r4wp

[#Red] Red language group

DocKimbel
18-Jul-2013
[9471x3]
Bo: The issue I had to fight with in my hotel room was just that 
my own prebol replacement lib was adding  an extra layer of MOLDing 
to the input source, because of the workarounds to avoid the #include 
(and others) directive collisions. This resulted in disabling some 
parts of the code leading to  odd runtime errors. I couldn't focus 
enough on it to see it that night because I was too exhausted and 
wanted to listen to the discussion at the same time. :-) (For others: 
my room was a kind of meeting point in the hotel ;-)).


To debug that, I reproduced the preprocessing changes step by step 
in a console until I located the "disabled" parts of the code, once 
I PROBEd those parts in the console, the cause was clear and the 
fix easy.
This is the encap script I'm using:

Rebol [ ]

#include %encap-paths.r
#include %red-system/utils/encap-fs.r
do #include-string %.cache.efs
do #include-string %red-encap.r
Also, to be able to see any output in DOS console from an encapped 
Rebol app, I needed to change a flag in the executable file (sub-system: 
`console` instead of `GUI`).
Maxim
18-Jul-2013
[9474]
you can also set an attribute in the header for it to be generated 
as a console app.
DocKimbel
18-Jul-2013
[9475x3]
Really? I missed that in the docs.
Oh, might be the -c option for enabling the CGI mode, is that the 
one?
Hum, no, doesn't seem to work for DOS console.
Maxim
18-Jul-2013
[9478x2]
similar, I think you just need to add cgi in the encap header attribute
its been a very long time (7 years) and I think its an undocumented 
feature he added just for me.  :-)
DocKimbel
18-Jul-2013
[9480]
CGI option in header does not work for DOS it seems. The only way 
is to set it a flag manually in the exe.
Maxim
18-Jul-2013
[9481x2]
argh... can't remember the flag it needed. memory escapes me.
but its definitely there.
Pekr
18-Jul-2013
[9483]
Doc - does encapper means, that we don't need to use R2 console anymore, 
and that Red distro will contain red executable, which will be able 
to compile and run the scripts?
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