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

World: r4wp

[#Red] Red language group

DocKimbel
14-Mar-2013
[6342x2]
I've found out an annoying bug in the way the interpreter sets the 
stacks layout for function/native calls with refinements presented 
in arbitrary order, it results in assigning the wrong arguments to 
refinements in some cases (caught by 3 unit tests only). I've worked 
most of the day on changing the way function/native calls are handled 
by the  interpreter to get it right in all cases this time. I hope 
to finish it for tomorrow.
The right and efficient handling of refinements is really one of 
the most difficult parts in making a Rebol language interpreter/compiler.
Gregg
14-Mar-2013
[6344]
Keep good notes, so you can write designer's notes for future implementors. 
:-)
DocKimbel
15-Mar-2013
[6345x2]
I'm not sure yet what the optimal way would be for runtime refinements 
evaluation, I've used a bitfield-based caching method in R-sharp 
to pay the full cost on first evaluation only. I'll try to implement 
a similar method for Red interpreter later. For the Red compiler, 
the cost is paid once only during compilation, there is no specific 
runtime overhead.
I could write a book about designing and implementing a Rebol-like 
language, counting R#, I've implemented two interpreters and one 
compiler. I've also implemented a partial Rebol in Rebol interpreter 
five years ago (never published), mainly aiming at providing step-by-step 
and stop/restart evaluation features for debugging purposes. But 
my first tests showed that it  was running about 50 times slower 
than R2 itself, so unusable for real code.
Gregg
15-Mar-2013
[6347]
Once you have free time, that will be a great project. Until then, 
just keep good notes while you work. :-)
Arnold
15-Mar-2013
[6348]
My progress on the Red/System random function. I tried to have an 
a declaration of an array as a import, but that failed because is 
was to be declared at runtime so the array was missing at compiletime. 
Yep it is not Rebol.
Kaj
15-Mar-2013
[6349]
Does the interpreter need to exit on a missing function argument, 
or could it continue with a warning?
DocKimbel
15-Mar-2013
[6350]
Each interpreter runtime error leaves the stack in abnormal state 
that can cause random native errors (usually segfaults). As long 
as we don't have error! implemented, exiting is the safest action.
Kaj
16-Mar-2013
[6351]
I removed the browser IDE example from the list of apps on our Redsite, 
because it is crashed by #428
DocKimbel
17-Mar-2013
[6352]
Added REMOVE action, supports any-series! and none! datatypes.
DocKimbel
18-Mar-2013
[6353]
Curses binding for Red/System released: https://github.com/dockimbel/Red/tree/master/red-system/library/curses


Big thanks to Bruno (a new french contributor) for this nice work!
Kaj
18-Mar-2013
[6354]
Cool, can you use it for the console?
DocKimbel
18-Mar-2013
[6355x3]
I will certainly for platforms where it is available by default.
As there's no curses lib provided on Windows by default, the final 
Red console will need an abstraction layer on top of it.
But I won't delay the new release for that. Still a few issues to 
check and test all on ARM before making the release.
Kaj
18-Mar-2013
[6358]
A Red dialect would be nice. Does Bruno have plans for it?
DocKimbel
18-Mar-2013
[6359x2]
I've told him about it, he will give it a look, but he's not familiar 
with the way to achieve it with Red/System (I've pointed  him to 
your own work wrt to dialects), and Red is not yet ready for that 
(routines are not documented at all).
If you have ideas or help to propose him, feel free to contact him 
through his github's email: https://github.com/be-red
Kaj
18-Mar-2013
[6361x3]
I hardly ever email, but if he has no plans, it would be a nice second 
backend that I could make for my GUI dialect
On another note, I see you use first reduce [prin ""] to get an unset! 
value
I think you can just use (). I'm using that in one place
DocKimbel
18-Mar-2013
[6364x2]
He's only available on email, he doesn't use any chats or ML.
Good point, about (). :-) Will change it.
Kaj
18-Mar-2013
[6366]
Well, I haven't opened my mail in several months
DocKimbel
18-Mar-2013
[6367]
:-)
Kaj
18-Mar-2013
[6368x2]
Bruno's work looks very good
However, there are no real widgets. I would have to implement them, 
or a widgets toolkit on top of Curses would have to be bound first. 
That's a bit too much work for me
Endo
18-Mar-2013
[6370]
Curses, very nice work!
NickA
18-Mar-2013
[6371]
I'm just excited to hear there's a new contributor.  Where did he 
come from?
Arnold
18-Mar-2013
[6372]
France
DocKimbel
19-Mar-2013
[6373]
I have fixed a pointer arithmetic bug on ARM backend. Now all Red 
tests, including interpreter's one are passing (same as for IA-32), 
console is working fully too. I have a few more tests to add before 
making the 0.3.2 release tomorrow (finally!).
Andreas
19-Mar-2013
[6374]
Very cool, congrats Doc!
DocKimbel
19-Mar-2013
[6375]
Thanks Andreas. :-)
PeterWood
19-Mar-2013
[6376]
Great !!
DocKimbel
20-Mar-2013
[6377x2]
Red language factoids by Ohloh (auto-generated): http://www.ohloh.net/p/red-language/factoids#FactoidAgeEstablished
You can click on the "I use this" button if you have an account at 
Ohloh.
Arnold
20-Mar-2013
[6379]
This is super great news. Please prepare a beginners guide for dummies 
also, I might need one ;)
DocKimbel
20-Mar-2013
[6380x2]
Still a bit early for a prime time, as we don't have yet proper errors 
handling. One thing that would be useful though, for anyone trying 
Red, would be to dig out Peter's extraction scripts from the repo 
(in /docs), update/enhance them if needed and make a nice CSS for 
displaying the resulting list of actions/natives/mezz. Anyone?
PRIN/PRINT now do an implicit REDUCE of their argument. Internally, 
it does a `reduce/into` to re-use the same block buffer each time, 
diminishing significantly the stress on the memory manager.
AdrianS
20-Mar-2013
[6382]
Just noticed the Tower of Hanoi as an activity indicator in the top 
right, on Ohloh - appropriate?
http://www.ohloh.net/p/red-language
DocKimbel
20-Mar-2013
[6383x3]
I've noticed it too, seems that Tower of Hanoi are trendy. ;-)
As is "Red" name:

http://en.wikipedia.org/wiki/Red_(Taylor_Swift_album)
http://www.sfr.fr/telephonie-mobile/series-red-de-sfr.html
and many more...
I need to hire Taylor Swift for making the promotion of Red 1.0 ;-)
Bo
20-Mar-2013
[6386]
Doc, maybe you can start a Kickstarter campaign to raise money to 
pay her. ;-)
Kaj
20-Mar-2013
[6387]
The Download link on Ohloh is wrong
DocKimbel
20-Mar-2013
[6388x3]
Link fixed, thanks.
Added multi-line input support to Red console...yes, you can now 
paste your Red script directly into the console. ;-)
In the process, I've uncovered several new bugs, so I'm processing 
them before making the release.
Arnold
20-Mar-2013
[6391]
Programming is the art of creating bugs