r3wp [groups: 83 posts: 189283]
  • Home
  • Script library
  • AltME Archive
  • Mailing list
  • Articles Index
  • Site search
 

World: r3wp

[Core] Discuss core issues

Janko
3-Jul-2009
[14221x2]
and if you want to do for example efficient message passing concur. 
it's also cruicial to have this sort of data.. because message is 
always a copy .. if you are using message passing for distr. compuring 
- only between computers then you have to copy anyway so it's no 
penalty .. but if you use message passing for concurrency /paralel 
execution on one computer then copying data for messages each time 
will have a high penalty , but it wouldn't with ropes for example
Graham, your comment about diagram inspired me to do some drawing 
.. http://www.itmmetelko.com/blog/img/actor-net-scheme_t.gifI added 
it to blogpos
BrianH
3-Jul-2009
[14223]
Plus, if you have immutable data structures you can copy them or 
not, or even persist them, with no change in semantics.
Graham
3-Jul-2009
[14224x3]
janko .. I see drawing is not your strong point!  :)   Try this tool 
http://map-editor.s3.amazonaws.com/map-editor.exe
It's just the Rebol 3flex script encapped.
To use it, double click on the blank canvas to create nodes, and 
double click on nodes to edit them.


Drag arrows from one node to another by click and drag from the left 
bottom corner.

Control-L to load a new map

Control-S to save a new map
Janko
3-Jul-2009
[14227x2]
Brian, yes.. since I like the FP a lot immutable stuff is certanly 
what I like , I sometimes discover looking at things this way solves 
or uncomplicates a lot of traditional imperative problems
Graham.. very very cool .. it seems that you have pockets full of 
magic rebol tools :) .. This graph editor is really nice and works 
smooth
Janko
4-Jul-2009
[14229]
I have updated the drawing again since I missed some connections 
. I was thinking .. once the "looks" of actor net is solid we should 
really move network stuff to uniserve to get the stable and fast 
network base.. it's one 1 function now so it shouldn't be too hard. 
Then I could actually recommend others to use it.
Graham
4-Jul-2009
[14230x2]
Janko .. not wriiten by me!  I just encapped it :)
See the !3flex channel here.
Graham
9-Jul-2009
[14232]
Twitter have updated their API .. so now if you post using their 
API, it says so whereas it used to say posted from the web.
Graham
13-Jul-2009
[14233]
Janko, how about attempting a CORBA interface ... that would mesh 
in with what you're doing
Pekr
16-Jul-2009
[14234]
call/output does not work, when console is not being run? I tried 
to convert some character sets, prepared short script, and run it 
by double-clicking .r file. No result was shown and rebol process 
is hang in memory. It was enough to put one print statement so that 
console showed up, and it was OK then. But that is weird, I wanted 
it to run without REBOL console showing up ...
Gregg
16-Jul-2009
[14235]
Yes, that's a known issue.
Graham
20-Jul-2009
[14236x3]
What happened to the open/async ?
as per http://www.rebol.net/docs/async-examples.html
I read somewhere that if you do any other IO during async, that will 
break the async.  True??
Maarten
20-Jul-2009
[14239]
Within an async handler things might get unpredictable. If you have 
a normal event loop, including async in the wait-list, I think you 
should be good.
Graham
20-Jul-2009
[14240x3]
I was wondering how to download a 120Mb file from S3
and wanting to do it async while write/binary/append in the async 
handler
was open/async removed after 2.5.5 ??
Maarten
20-Jul-2009
[14243x2]
Yes.
It interfered with the garbage collector and was one of the reasons 
to start R3 development iirc (the whole port subsystem, actually).
Pekr
20-Jul-2009
[14245x3]
Graham - you don't need the async mode in order to behave in an async 
like manner ...
I can send you short script called "multiserver", which is able to 
accept connections from various IPs, save content to file, it simply 
multiplexes on opened ports ....
the script is very short, commented. It served as example for my 
friend learning REBOL.
Graham
20-Jul-2009
[14248x2]
That's okay Pekr ... I was just trying to see if I could use the 
style as written by Carl.
Maarten ... when did that become common knowledge??  I had endless 
issues trying to upload files async, and it only worked by turning 
off GC  .... but of course killed my program with huge memory use 
:(
Ashley
20-Jul-2009
[14250x2]
Anyone have a nifty func to "untrim" a string? Something that converts:

	"ArialBold"

to:

	"Arial Bold"

Best I can come up with is a horrible replace loop:

	foreach char "ABC ..." [
		replace/all next string char join " " char
	]

 replace/all string "  " " " ; handle case where words were already 
 space seperated
replace/all next -> replace/all/case next
Graham
20-Jul-2009
[14252]
you want to insert spaces before each caps ?
Ashley
20-Jul-2009
[14253]
Yep
Graham
20-Jul-2009
[14254]
can't you use parse
Ashley
20-Jul-2009
[14255]
One of the few things I've yet to master in REBOL! ;)
Graham
20-Jul-2009
[14256x3]
caps: charset [ #"A" - #"Z" ]
non-caps: complement caps

parse "ArialBold" [ some [ copy fontname name (print fontname)  ]]
>> parse "ArialBold" [ some [ copy fontname name (repend out [ fontname 
" " ])  ]]
== true
>> out
== "Arial Bold "
close enuf ??
Ashley
20-Jul-2009
[14259]
** Script Error: name has no value
Graham
20-Jul-2009
[14260x2]
name: [ caps some non-caps ]
out: ""
cut and paste works poorly in windows :(
Ashley
20-Jul-2009
[14262x2]
and Mac ...
Thanks, that's enough for me to start with.
Graham
20-Jul-2009
[14264]
>> parse next s: "ArialBoldItalic" [ some [ some non-caps [ end | 
mark: ( insert mark #" " ) skip ]] ]
== true
>> s
== "Arial Bold Italic"
Ashley
20-Jul-2009
[14265]
Even better!
Graham
20-Jul-2009
[14266]
I'm waiting now for Ladislav's answer !
Ashley
20-Jul-2009
[14267]
In 12 bytes or less ;)
Pekr
20-Jul-2009
[14268]
not sure if correct, but:

caps: charset [ #"A" - #"Z" ]
non-caps: complement caps
s: "aaaArialBoldItalic"

parse/all s [any [mark: caps (insert mark #" ") skip | skip] end]
Ashley
20-Jul-2009
[14269]
Slight complexity, "HelveticaCY" has to parse as "Helvetica CY" not 
"Helvetica C Y"
Graham
20-Jul-2009
[14270]
>> parse next s: "ArialBoldItalicYY" [ some [ some non-caps [ end 
| mark: ( insert mark #" " ) 2 skip ]] ]
== true
>> s
== "Arial Bold Italic YY"