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

World: r4wp

[#Red] Red language group

DocKimbel
12-Mar-2013
[6316]
7 failing tests to go until complete equivalence between Red compiler 
and interpreter. :-)
GrahamC
12-Mar-2013
[6317]
nice progress
Bo
12-Mar-2013
[6318]
Great!
Maarten
13-Mar-2013
[6319]
Nice!
Kaj
13-Mar-2013
[6320x12]
I'm getting a weird crash if I load the following in the GTK-browser:
function [] [
	[text]
]
bash-4.0# ./GTK-browser test.red 

*** Runtime Error 1: access violation
*** at: 08063687h
It doesn't happen if I load it in the console
This fixes it:
function [] [
	text: ""
	[text]
]
But this doesn't:
function [] [
	text: none
	[text]
]
Actually, it crashes by just loading:
none
Sorry, strike that last one
I've put it in the tracker
Paul
13-Mar-2013
[6332]
Great stuff guys,  been taking a bit more time to get to know RED. 
 Great work Doc, Kaj, Peter, and the rest of the testers and submitters.
Kaj
13-Mar-2013
[6333]
Thanks, glad you like it :-)
Paul
13-Mar-2013
[6334]
I do.  Good work!
Kaj
13-Mar-2013
[6335]
The upcoming release will be quite recommendable, both the compiler 
and the interpreter. Until now, only Red/System was ready for real 
use
Paul
13-Mar-2013
[6336]
Yes, I'm more exited about Red these days then REBOL open source.
DocKimbel
14-Mar-2013
[6337]
Thank you Paul! As you've seen, we are working hard to make our dreams 
come true. :-)
Paul
14-Mar-2013
[6338]
:-)
Arnold
14-Mar-2013
[6339]
Phone company in Holland has launched new mobile service. "All you 
need is Red".
http://www.vodafone.nl/Red
DocKimbel
14-Mar-2013
[6340x4]
I can't agree more. ;-)
Interesting, they also copied our 3-layer tower concept...;-)
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.