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

World: r4wp

[#Red] Red language group

DocKimbel
14-Jun-2012
[499]
Yep, GTK, not so far, cURL, I don't remember, will need to test it 
again.
Pekr
14-Jun-2012
[500]
Doc - I might have idea of how you will aproach port model in Red. 
What about events? Carl said, R3 had fast implementation, but we 
also looked into libraries like liboop, libevent, etc. What is the 
plan in that regard? I expect you created Red because you envisioned 
the concurrency is a must? I hope that RED will be a killer in fast 
event handling and concurrency :-)
Kaj
14-Jun-2012
[501]
LibEv is better
Pekr
14-Jun-2012
[502]
there is also some small library for threading, photonthreads, or 
something like that?
Andreas
14-Jun-2012
[503]
(protothreads)
DocKimbel
14-Jun-2012
[504]
Well, we need to integrate an R3-like async port/event system with 
multithreading (both internal threads and OS threads), that's the 
real challenge. So port! might be implemented as a sub-class of actor! 
(basically a message-based object). This is still rought as I haven't 
worked on the details of ports and actors yet. I'm not sure that 
using an external library for that very sensitive part would be a 
good idea, because we probably only need a tiny subset of the features 
provided by those libs and we need a perfect integration with the 
rest of the runtime/language. You can count of me to implement the 
solution that will give us the best performances, as this is a critical 
feature for being able to implement state-of-the-art servers...and 
you know that we want a very fast Cheyenne v2. ;-)
Pekr
14-Jun-2012
[505x2]
Those libraries might be good for inspiration - their code is MIT/BSD, 
cross-platform, documented limitations, etc. But I agree. I simply 
want event port being just another kind of ports, funcitoning as 
a kind of seris - lookup, traversla, sort, filtering, etc :-)
Can't wait, when we get to that level in RED .....
DocKimbel
14-Jun-2012
[507x3]
Protothreads is an interesting minimalistic approach to cooperative 
concurrency, but probably too limited for implementing something 
like task! or actor! BTW, I'm not sure if task! will be required 
in Red, in R3, it starts a new OS thread IIRC, although, I might 
use it to spawn a new process instead, as threads management will 
be covered by actors.
Those libraries might be good for inspiration

 Certainly! I have read the source of libevent in its early versions, 
 lot of interesting code there, but nothing really new since the famous 
 "C10K problem" article more than ten years ago.
I simply want event port being just another kind of ports, funcitoning 
as a kind of seris
 

Hasn't that model been abandoned in R3?
Pekr
14-Jun-2012
[510x3]
as Kaj said - there is new spin-off, LibEv, from 2007 - lighter, 
faster, removed original restrictions, etc. I do remember the C10K 
article, I suggested it to Carl, he read it, but his opinion was 
similar to your - simply that we don't need all those features. He 
probably wanted to rely on what is available under particular OSes 
...
Well, R3 moved to devices abstraction, that's first difference to 
R2 - an abstracted platform agnostic Core and surroundings. Not sure 
if there is any practical benefit ...
so, under R3, evt: open event:// works ...
DocKimbel
14-Jun-2012
[513x2]
I think that REBOL only uses select() for low level events handling, 
I would be surprized if it used the much faster alternatives (which 
are the core of libevent and derivatives).
Can you call all the series navigation actions on R3 ports?
Pekr
14-Jun-2012
[515x3]
you can look into Other section - that can be good reminder into 
ports, schemes, devices and low level event system - http://rebol.net/wiki/Table_Of_Contents
as for navigation, not sure ...
http://rebol.net/wiki/Event_System
Kaj
14-Jun-2012
[518x2]

I simply want event port being just another kind of ports, funcitoning 
as a kind of seris" 

Hasn't that model been abandoned in R3?"
Yes, R3 ports are thinner and more specialised
Gerard
14-Jun-2012
[520x2]
Hi Doc, check for a new donation from me through PayPal.  I could 
afford 100 Euros this time. Hope it will help you a bit more.
Recently tried to run the Hello World on my Android based Galaxy 
Samsung Tab 10 but after seeing the "executing ..." msg. Nothing 
appeared. I will try to look at what could be done but I suspect 
I also have to first learn a bit more about Android and my machine 
to help ... I'm very patient and began to read about the ARM. and 
Android itself. What an evolving world we live in ...
Steeve
14-Jun-2012
[522x2]
Doc: Working Actions I tested in R3: append, change, copy, pick, 
head, at, length?, tail; tail?,empty?, clear, first
Bugous/missing: last, foreach, second, third...
Oups! (skip, back, next )are also working
BrianH
15-Jun-2012
[524x4]
Steeve: first, second and so on are not actions in R3, they just 
call PICK. PICK is implemented for ports.
I prefer that model; more consistent.
You can make a port work a lot like a series, and you mostly did 
with the virtual block scheme. FOREACH and PARSE not working on ports 
can be a bit annoying, but they would only work on a subset of the 
port types that either work like series or (theoretically) like files 
(like open/direct file ports in R2).
If Red adopts R3's port model, I would definitely like to try to 
implement that port PARSE idea I was thinking of for R3.
DocKimbel
15-Jun-2012
[528]
@Gerard: received, thank you very much!  What version of Android 
do you have?
Gerard
15-Jun-2012
[529x2]
@Doc: Android version 3.1 and kernel is 2.6.36.3
@Doc: Seem there is a new update for my system. I will first download 
and install it and I'll retry later the Red/system app in Native 
mode.
Henrik
15-Jun-2012
[531]
Doc, have you looked at Flattr integration? I've only just heard 
of it, but maybe it's another donation option for those of us, who 
are unable to use Paypal and wary about banktransfers.
DocKimbel
15-Jun-2012
[532x2]
Flattr: yes, and I have received at least one donation on it, but 
can't retrieve it unless I accept to pay a monthly fee. I understand 
the logic behind it, but don't find it very handy.
@Gerard: I will try it under 3.1 in the emulator.
GiuseppeC
15-Jun-2012
[534x2]
Doc, no series in RED ?
Or blocks ?
DocKimbel
15-Jun-2012
[536x2]
If Red wouldn't have series and blocks, it wouldn't have much in 
common with REBOL. ;-)
@Gerard: works under emulator with 3.1, the kernel version is much 
lower though than the one you've reported, I have 2.6.29 here.
GiuseppeC
15-Jun-2012
[538]
Sorry Doc, I have made the wrong question: I don't see in the documentation 
block and series manipulation functions. Maybe I am looking at the 
wrong place ?
DocKimbel
15-Jun-2012
[539x2]
Which documentation? There's currently no documentation about Red, 
only about Red/System.
Red and Red/System are two different things that you should not confuse.
GiuseppeC
15-Jun-2012
[541]
Ok, I am officially confused ! :-)
DocKimbel
15-Jun-2012
[542x2]
:-)
Have a look at these ones:
- http://static.red-lang.org/red-system-specs.html#section-1

- slides 7 to 13 in my SFD presentation: http://www.red-lang.org/2011/09/red-at-software-freedom-day-2011.html
Kaj
15-Jun-2012
[544]
The DSL link in the docs is going to the French Wikipedia. You may 
want to anglicise that
GiuseppeC
15-Jun-2012
[545x2]
Read ! Very interesting.
Now I have understood.
DocKimbel
15-Jun-2012
[547x2]
Kaj: hehe, good one. :-)
URL fixed.