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

World: r4wp

[#Red] Red language group

DocKimbel
19-Sep-2012
[1964]
REBOL code profiler released: https://github.com/dockimbel/Red/blob/v0.3.0/red-system/utils/profiler.r


Should work with any REBOL app. Documentation, comments and example 
included in file header.


Hope someone will pick it up and improve it (like adding functions 
sub-tree stats and a GUI). This is github, so feel free to fork then 
fix/improve.
Pekr
19-Sep-2012
[1965x3]
Doc - your twitter account got spammed?
Calculator Hero lets u fulfil challenging computing tasks with simplest 
operations!! DOWNLOAD NOW 4 iPad ver. 
Or is that new secret Red app for iPad? :-)
DocKimbel
19-Sep-2012
[1968x3]
Thank...has my password been cracked or are they means to post in 
name of someone else?
(tweet deleted)
I've changed my password just in case.
Arnold
19-Sep-2012
[1971x3]
Can someone tell me why for example in https://github.com/dockimbel/Red/blob/v0.3.0/red-system/utils/profiler.r
to use 

set 'make-profitable func [][] instead of make-profitable: func [][] 

because the second kind of declaration is also use in this script 
and I do not see why both are being used; you have a preference for 
one over the other so you use one, not both?
set 'make-profitable func [][] instead of make-profitable: func [][] 
the link overwrites this line in my version of AltMe sorry!
This also was meant for Rebol-school. Closing down AltMe and restart.....
Pekr
19-Sep-2012
[1974x2]
Arnold - that's the old altme url bug. In order to be able to read 
such lines, just change the size of text for a while (aA button above 
the text field)
Arnold - 'set example is one trick you can use in REBOL. Normally, 
when you enclose the function in the object/context, it is accessible 
via a path notation, e.g. context/make-profitable. When you use 'set 
aproach, it lives inside the context, but is exposed to the global 
context, so you can call it directly, or something like that :-)
Arnold
19-Sep-2012
[1976]
Thank you Pekr. It is a little to subtile for my mind and current 
REBOL knowledge, I will have to live with this ;-)
DocKimbel
19-Sep-2012
[1977]
It's "make-profilable", not "profitable"...well at least, not yet. 
;-)
Arnold
19-Sep-2012
[1978]
LoL! I was totally unaware I changed that. :D
Pekr
19-Sep-2012
[1979]
:-)
DocKimbel
19-Sep-2012
[1980]
@Arnold: I've pushed an update to profiler and I've made nested functions 
exposition to global context more elegant. ;-)
Arnold
19-Sep-2012
[1981]
Maybe it is more profitable now :D
DocKimbel
20-Sep-2012
[1982]
Red FB group: https://www.facebook.com/groups/redlanguage/

My new public FB profil: https://www.facebook.com/redlanguage


Those that sent my friend requests recently to my private page, can 
now resend them to this new one.
MagnussonC
21-Sep-2012
[1983]
That FB Red avatar is rather ... blue
DocKimbel
21-Sep-2012
[1984x2]
Good point, I'll see how Doctor Manhattan renders in red shades. 
;-)
This is huge: http://www.pythontutor.com

We need to write Red documentation that way too!
Endo
21-Sep-2012
[1986]
Cool! (for FB group and pythontutor.com)
AdrianS
21-Sep-2012
[1987x2]
Really nice - I thought the examples were canned at first, and I 
was thinking how tedious it must've been to set these up, but I see 
that it's all generated on the fly.
I would've thought that trying to show so many things (program listing, 
output, data structures) in that amount of space would make it hard 
to follow - it's surprisingly clear, though.
Arnold
21-Sep-2012
[1989]
Well my patience is being tested. No red-lang mailing list for me 
for a week or more. Account disabled. (Red-terrorist :) )
Pekr
22-Sep-2012
[1990]
Ah, Unicode plan posted, should be announed here :-)

http://www.red-lang.org/2012/09/plan-for-unicode-support.html
Henrik
22-Sep-2012
[1991]
Any particular plan for error handling?
DocKimbel
22-Sep-2012
[1992x3]
Nothing in particular, I will implement it the same way as in REBOL. 
If you have suggestion about improvements, it's still time.
Error handling will come fast, probably next week, but in a basic 
version as we still don't have something like system/standard/*
Pekr: I guess that all people here interested in Red have subscribed 
to red-lang.org feed. ;-)
Pekr
22-Sep-2012
[1995x2]
yes, but? :-) You posted about FB group above ... which is part of 
the Twitter feed too :-)
what I liked about R3 errors was addition of 'why function, which 
pointed you to the docs :-)
Henrik
22-Sep-2012
[1997x2]
Pekr, yes, exactly one thing I'm missing about the current error 
system. Also currently user error strings are difficult to localize 
unless you use your own scheme, when displaying the error.
You can certainly carry this data in the arg1, arg2 and arg3 words, 
but it's a bit awkward.
Arnold
22-Sep-2012
[1999]
About error, maybe some indication of the line number. Not prominent 
but as a hint at least, however using find most of the time finds 
the right place where the error is, sometimes it is not so clear.
DocKimbel
22-Sep-2012
[2000x3]
Henrik: you're are passing REBOL errors to end users?
Line numbers: there are complicated and costly to handle in a REBOL-like 
language at runtime. The experimentation I did in Red/System confirms 
it. I'm not sure I will add them to Red unless we can come up with 
an efficient solution.
*they
Henrik
22-Sep-2012
[2003x2]
Dockimbel, well, maybe it's bad design, but what I do generally is 
make error! in the deepest part of the code. When such a user error 
happens (which is generated by a plain make error! "something failed"), 
I disarm it and display arg1 in a dialog in the higher level code, 
if that makes sense. This way, errors are easy to identify and I 
don't have to make up schemes for return values. When a REBOL error 
happens at the same level, I let the program crash.
Arnold, in R3 there is a stack trace shown at the error message, 
which lets you find errors much quicker than in R2. Line numbers 
aren't really practical with REBOL.
Marco
22-Sep-2012
[2005]
Is there any "tedious" task (not involving manuals, docs or graphics) 
that could be done by some volunteer to speed up Red development 
?
Arnold
22-Sep-2012
[2006x2]
question about compiler.r 
while		[intrinsic! [cond  [block!] body [block!]]]
until		[intrinsic! [body  [block!]]]
no condition needed for until?
(I know it is the value of the last line if it is a condition in 
rebol but shouldn't it be specified?)
BrianH
22-Sep-2012
[2008x2]
Nope. There is only one argument, the body.
Those are just argument specs. They don't specify behavior eyond 
that.
DocKimbel
22-Sep-2012
[2010x2]
Marco: besides coding in Red/System, I don't see what you could do 
currently to speed it up. Here are some ideas for the additional 
coding that will need to be done:


You can write in Red/System some of the non-trivial natives, like 
e.g. set natives: sort, union, intersect, unique, difference. Other 
natives or support code we will need are codecs for:

- compression supporting these algorithms: deflate, lzo

- cryptography: MD5, SHA-1, AES, ...(all the required ones for SSH 
and SSL support)


You can port C code to Red/System, there are tons of available C 
source code, you just have to make it right (crypto requires accurate 
coding, implementations need to be deeply tested for flaws).
Alternatively, you can try to find a good existing open-source SSH/SSL 
lib that is BSD-compatible, so far, I haven't found  any. All the 
robust open source ones that I could found are under GPL.
Arnold
22-Sep-2012
[2012]
ok, just like in REBOL of course. Still it looks strange because 
I expect it to be there because there always is in other languages 
and it is a loop until a condition is met. So somewhere that condition 
must be tested to be true or false but indeed this part is more the 
definition of how the statement as a whole should be formatted in 
a Red program. I'm back on track, thanks!
Henrik
22-Sep-2012
[2013]
cryptography: maybe I can handle ROT13. :-)