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

World: r4wp

[#Red] Red language group

Kaj
22-Mar-2013
[6475]
And OpenGL? I have it penciled in as libGL.dylib
Oldes
22-Mar-2013
[6476x2]
/opt/X11/lib/libGL.dylib, so probably ok
Another small bug in OSX console.. I can delete even the prompt.. 
is it same on Linux?
Kaj
22-Mar-2013
[6478x2]
Thanks!
It's because the new Red console tries to handle the prompt. It should 
leave it to ReadLine, until it's reimplemented in Curses
Oldes
23-Mar-2013
[6480x2]
I wanted to add colors into the console, but I'm not sure how... 
exactly the color codes are different in Windows from rest of the 
world. What would be the best way how to declare global constants 
per OS?
Is it already possible to detect OS from Red level?
DocKimbel
23-Mar-2013
[6482x2]
Yes, see PLATFORM? routine in %boot.red (you can call it from console 
for testing).
Global per OS constants: if at Red/System level, use #enum in a #switch 
OS [...] control structure. If at Red level, it depends on your usage.
Jerry
23-Mar-2013
[6484]
Red interpreter for Mac OS is working now ... :-)
DocKimbel
23-Mar-2013
[6485x2]
Yes, the console support on Mac is still minimal (no history), but 
at least it works. :-)
We'll get a much better (at least R2-level) console soon for all 
platforms.
sqlab
23-Mar-2013
[6487]
that's fantastic
Jerry
23-Mar-2013
[6488]
A colorful console would be great. For example, Black for any-word!, 
Blue for any-string!, Green for scalar ...
DocKimbel
23-Mar-2013
[6489]
Contributions are welcome. :-)
Jerry
23-Mar-2013
[6490]
Beside donation, I would like to contribute to the Red codebase. 
However, the lack of document stops me. I did read Red/System document 
again and again, but it's not enough for me to start. I guess I need 
to read all the red source before I can contribute code? Or is there 
is another way for us to rush in easily and quickly?
DocKimbel
23-Mar-2013
[6491x3]
Depends on what you want to what part you want to contribute?
An internal API documentation would be a good start, but that API 
is not yet fully stabilized...
For now, the best you can do is read all the files in red/runtime/ 
that will give you a good insight on how to add new features.
Kaj
23-Mar-2013
[6494]
Congratulations on the new release. The interpreter is enabling all 
the use cases we know from REBOL
DocKimbel
23-Mar-2013
[6495]
Thanks! This one was tough to get out, so many new features to get 
right and bugs/regressions to fix!
Pekr
24-Mar-2013
[6496]
I can see some lag of Red vs R3, althought not sure it is a fair 
measurement. Just tried with repeat i 1000 ["notning"], and while 
R3 response is instant, Red takes some fair amount of time to complete 
...
DocKimbel
24-Mar-2013
[6497x4]
Have you compiled the console in debug mode? (-d option)
It returns immediatly here with loop counter up to one million.
Close to 3000 hits on red-lang.org since the release, all traffic 
coming from reddit:


http://www.reddit.com/r/programming/comments/1awkcm/red_programming_language_version_032_released/


If you want to help Red, consider posting and upvoting Red there. 
;-)
Creating a reddit account is a 10 seconds procedure and email is 
optional.
Pekr
24-Mar-2013
[6501]
Doc, it was for Try Rebol site, not my own one attempts to test ...
Gregg
24-Mar-2013
[6502]
REPEAT is instant here in the console I just compiled.

Joined Trello. Joined Reddit. I must care. :-)
Kaj
24-Mar-2013
[6503]
Petr, you're looking at network delay
DocKimbel
24-Mar-2013
[6504x2]
Close to 5000 hits on red-lang.org now.
Even if Red is not yet ready for prime time, it is good to have some 
devs having at least heard about it. When we'll launch Red for real, 
that will greatly help it spread around.
Gregg
24-Mar-2013
[6506]
Indeed. That's great Doc.
DocKimbel
24-Mar-2013
[6507x3]
New SYSTEM function added (meant to mimick the SYSTEM object until 
we have object support).

red>> system/version
== "0.3.2, 25-Mar-2013/2:03:45+1:00"
red>> system/platform
== Windows
red>> length? system/words
== 290

So now, who wants to implement WHAT function? ;-)
BTW, we need to add doc-strings to all functions in %boot.red, I 
like the Rebol short but meaningful strings, but I have a few questions 
first:

1) Could we borrow them from R3?

2) Does that fall under Apache license too (I guess so, but just 
checking)?
3) In such case, where and how do we to put proper credits?
BTW, now SYSTEM/PLATFORM replaces previous PLATFORM? function.
Kaj
24-Mar-2013
[6510]
R3 doc strings were released as part of the source, so they are under 
Apache. They would taint Red to fall under the Apache licence, too, 
making it more restricted than BSL and incompatible with GPL
Endo
25-Mar-2013
[6511]
Doc: is it intentional?
red>> repeat i 10 [  ]
== 10
red>> i
== 10
Rebolek
25-Mar-2013
[6512]
AFAIK it is and I really don't like it.
Henrik
25-Mar-2013
[6513]
Can this decision be explained, please?
DocKimbel
25-Mar-2013
[6514x2]
It is intentional and has several purposes: 


a) avoiding the creation of an hidden context for each iterator instance 
and especially the costly deep BINDing of argument block on each 
call.


b) making the iterator word available outside of the loop, can be 
useful when early breaking from loop, avoiding the passing of the 
counter through a BREAK/RETURN. It can also be used to check if the 
loop counter has reached its limit or not.


c) it is IMHO counter-intuitive for users, after a few years you 
get used to it, but it is a wall that every new user will hit more 
than once. I think that the extra step of defining it as local word 
is really not a big deal in comparison. Also, FUNCTION constructor 
could be enhanced to take care of that for you.
I think that my trade-off for Red is "better", but we can discuss 
it if I have missed something.
Endo
25-Mar-2013
[6516x4]
How the outer REPEAT remembers the value i?
red>> repeat i 3 [print i repeat i 2 [print [tab i]]]
1
        1
        2
2
        1
        2
3
        1
        2
And the last value is 2, not 3.
red>> i
== 2
It is a bit confusing.
Even the outer REPEAT doesn't return its last value in this case:
red>> i: repeat i 3 [print i repeat i 2 [print [tab i]] i]
red>> i
== 2

But normally it does:
red>> i: repeat a 5 [4]
== 4
Rebolek
25-Mar-2013
[6520]
I don't want iterator word available outside of loop, this is really 
bad idea.
Endo
25-Mar-2013
[6521]
I *feel* same way, I usually use i, j, k, t, s as /local words to 
functions, and I don't worry to mess them with iterator words inside 
function. But we should explain why or how it is a bad idea to Doc 
(if it really is)
Henrik
25-Mar-2013
[6522]
What does this do (I don't have access to Red here):

repeat i i: 3 [print i]
Endo
25-Mar-2013
[6523]
red>> repeat i i: 3 [print i]
1
2
3
red>> i
== 3
Henrik
25-Mar-2013
[6524]
hmm... yes, I guess that makes sense.