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

World: r4wp

[#Red] Red language group

Kaj
12-Mar-2013
[6297]
Oh, I see, you were going to implement VALUE? for validation. I just 
didn't think you meant checking the entire input; I thought you were 
talking about the result
DocKimbel
12-Mar-2013
[6298x2]
I meant the whole user input, mainly for catching undefined words/paths 
and hanlding the error out of DO.
Maybe I will do it myself in the console script...
Kaj
12-Mar-2013
[6300x8]
Thinking about it, that would reject any user code that uses words 
as symbols, wouldn't it?
I have a loop written that does the evaluation, even without VALUE? 
but it doesn't seem like a good idea to me
red>> x: load "view button" forall x [print unset? get x/1]      
     
false
true
Undefined single words were never a problem in the interpreter before. 
That's why I could write Redpages with a header:
Red []
They were simply ignored. After I requested the warning message, 
the Red word produces such a warning, so for now I write:
'Red []
By the way, are get-paths supposed to work?
DocKimbel
12-Mar-2013
[6308x3]
Nope, not yet.
DO doesn't support a Red header yet.
You should strip it from a LOADed block before passing it to DO.
Kaj
12-Mar-2013
[6311]
I know, but it worked
DocKimbel
12-Mar-2013
[6312x3]
I need to fix some interpreter issues revealed by Peter's port of 
~2500 tests to the interpreter. There's about a dozen failing tests 
to fix.
Once that done, I will have a look again at those error reporting 
issues.
I agree that it is not yet possible to deeply validate user input. 
I'll see if I can find a cheap workaround for the release.
Kaj
12-Mar-2013
[6315]
OK, thanks
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.