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

World: r4wp

[#Red] Red language group

@Doc : About the R2/R3/Red console enhancements, I've always missed 
the MS way to move/select  from left to right (on a word by word 
basis - MOVING on a word-by-word is CTRL+left / right Arrow and adding 
the SHIFT key in combination with the CTRL means SELECT - it's that 
simple) but going to the beginning or ending of the line is at least 
a welcome start ... if we want to go this way - and then going right 
or left on a character basis - as is for now!  And for right-handed 
ppl it would also be welcome to restore the old MS way of handling 
the current left-handed ppl to do CTRL-X / C / V  - which were CTRL-DEL 
or SHIFT-DEL / CTRL-Insert / SHIFT-Insert - but this kind of thing 
I can add myself when time comes ... it's just a matter of being 
more productive - it's far from being a "caprice des Dieux". For 
opponents : If you've never experimented it - you then never used 
it either on a regular basis and you can't catch why I regret this 
not being supported anymore in recent MS software too ... but this 
is deceptive either from them since it costs so few to leave it there 
in the first place. However I must admit that on my iPhone and other 
mobile tools I will miss it in anyway - until I code my own keyboard 
for this use too !!!
But Doc I dont' plan you to code these enhancements - it's just a 
reminiscenceof what I had to leave behind with the years that I found 
useful to me - but hard to memorize at first.
Gerard: those are details that can be easily added once the cross-platform 
console will be implemented. If you or someone else will send me 
pull requests for such features at the appropriate time, I will be 
glad to accept them.
@Doc : I never thought you would do so much work in a so short time. 
If my support can help you a bit to go further and leave behind - 
with the help of the other donators - the bad feeling of having to 
work elsewhere to  get money for your living, then it's a pleasure 
for me to do it as much as I can.  Keep up the good work Doc and 
have a happy new Year form Quebec, Canada.
Thanks Gerard, it does help for sure! I wish I could have done more, 
but as french people use to say: "A chaque jour suffit sa peine." 
And my "remerciements" have to go to every direct and indirect contributor 
too (Carl S, KaJ, Peter, Andreas, Ladislav, BrianH, Nick, Maxim, 
Pekr,  Jerry, many guys of the French and other international communities 
too ... name them - there's too much to name all of them without 
leaving someone behind). My best wishes to you all Gang- you're forming 
an exceptionally tight and prosperous team. Your tools are the best 
I saw for being productive and easyness of use. Let's the Red/Red-System 
combination, to be the future C language replacement as the new World's 
low/high level language mix of choice.  Not to be without mentioning 
the REBOL and its loyal followers too (many of the same Red contributors 
but many more like Robert, Cyphre, Henrik ... and many others which 
have found their way while we were waiting for R3 to become open 
source, like Gabriele, Geomol ... - without which we would never 
be here now.
Thanks :-)
Wow, the interpreter and console add all of 3.5 KB to a Red executable 
Wait, that's probably the console. The interpreter also seems to 
be in an empty executable
It barely runs under wineconsole 1.2.2 though. The character output 
is borked
Seems to be a WINE limitation. Dunno if it's fixed in newer versions:
fixme:msvcrt:_setmode fd (1) mode (0x00020000) unknown
fixme:msvcrt:_setmode fd (2) mode (0x00020000) unknown
Can it be that the Windows PE backend compiles in a random number 
or otherwise random uninitialised values? Windows builds seem to 
change on every build run without Red having changed. This is inefficient 
for my incremental builds repository and makes it hard to validate 
build correctness
It barely runs under wineconsole 1.2.2 though. [..] Dunno if it's 
fixed in newer versions

Unusable under wine 1.5.20 as well (same setmode fixmes on startup).
Gregg: "Remember, everyone, I'll match donations made by 31-Dec up 
to USD$200."

I just donated 50 eu (68,93 usd) to Doc for the big progress of Red!
OK, just sent another 50 EUR. I also sent 50 EUR on 15.12.2012, dunno 
since when Gregg's doubling applies (should be OK for NickA though) 
Doc - console does not seem to support two consecutive expressions? 
E.g. a: 1 print a, crashes ....
The interpreter also seems to be in an empty executable
 Yes, it is part of Red's runtime.
_setmode call is used to properly set the DOS console to UTF-16 (Unicode 
Can it be that the Windows PE backend compiles in a random number 
or otherwise random uninitialised values?

 No, it shouldn't AFAIR, you can open a ticket on the bugtracker if 
 it's the case.
Pekr: thanks for reporting, will look into it.
That's great Endo! I'm glad Doc's hard work is turning into donations, 
so he can see real support for the project from others. Kaj and Peter 
are doing a lot to help him, and I hope to make time in a few weeks 
to show my support with action as well.
Petr: issue fixed.
Console binary updated
Console binary updated with the added conditionals
it almost seems, like you have to reimplement all the Red functionality 
for console?
Nah, just another wrapper over the existing runtime
I think the interpreter added less than 10 KB to the binary
Pekr: just the natives that are processed as keywords by the compiler 
and that don't needed a runtime counterpart until now. Anyway, as 
you can see from the commits, it's just a thin layer.
didn't need
Console binary updated with the added loops
Thanks Kaj.
Kaj: congrats on the first binding made available to Red! :-)

I've noticed in %examples/do-sql.red the comment for #include:  "FIXME: 
#252". Actually, #252 is for Red/System, Red  implements its own 
#include which behaves differently than the Red/System version. I've 
tried to make it more intuitive, but it still needs some adjustments, 
so feel free to open new tickets about that (with simple concrete 
test cases I can reproduce). 

Also keep in mind that #include at Red level is intended to be a 
temporary feature until we get DO, LOAD and READ working with files. 
I would like an include system that could work both for the interpreter 
and compiler without having to change any code. I'm not sure this 
is achievable, so in worst case, we'll keep #include as fall-back.
Yeah, there's a question mark behind it because I wasn't sure it's 
the same issue, but #252 is the closest
I think SQLite-binging was misplaced in "Red/System contributions" 
Section in Red-lang.org. It's Red not Red/System. ... Good to know 
that SQLite Binding is done. Thanks. Kaj.
Until ten minutes ago it was a Red/System binding. :-) Now it's both 
a Red/System and a Red binding, built on top of the Red/System one
The same will happen with my other bindings
wowo! for the console interpreter and bindings!! awesome
I sent 70eur in from 14.Dec to now (for NickA or Gregg deals / btw 
thanks for that).
Janko: thanks for your donations!
Shouldn't block/rs-head and rs-tail have a /local s ?
Same for string. Perhaps it comes out of string/rs-length? which 
doesn't have s
block/copy seems to need /local s too
Yep, copy/paste bug.
I've implemented the first string marshalling in the SQLite binding, 
of the version identifiers
version: routine [  ; Return SQLite version.
;	return:				[string!]
	/local				version
	version: sqlite/version
	SET_RETURN ((string/load version length? version))
You should wait for me to add the marshalling and unmarshalling functions 
(that will be used everywhere Red needs to interface with non-Red 
code). In your code example, it should be: 1 + length? version (as 
it needs to account for terminal NUL character). Also, you need to 
get sure that the source c-string! buffer is always available or 
make a copy of it (a pointer to it is stored as a UTF-8 cache, unused 
yet, but intended for speeding up I/O, still experimental, not sure 
it will stay for v1.0).
I was wondering about those things. There's not much I can do then 
to make working bindings currently
I'll try to speed things up.
Don't tremble apart when passing the sound barrier ;-)