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

World: r3wp

[Core] Discuss core issues

kcollins
8-May-2009
[13678]
You could copy the series first, although obviously this impacts 
performance.
[unknown: 5]
8-May-2009
[13679]
http://curecode.org/rebol3/ticket.rsp?id=781
Henrik
8-May-2009
[13680]
have we had a discussion about a variable /skip based on FIND? I 
think it's a good idea in general.
[unknown: 5]
8-May-2009
[13681]
not sure.
Janko
8-May-2009
[13682]
I think its a good idea to ahve find like that (so that it gives 
subset) but expression would have to be a block so you can put any 
code inthere and things are systematic
Maxim
8-May-2009
[13683]
but even extract creates a new series, we just want to change the 
offset, its much more efficient in all cases... and yess I would 
have used that VERY often.
[unknown: 5]
8-May-2009
[13684]
I think everyone would use it very often.  I can't believe we haven't 
created it yet.
Maxim
8-May-2009
[13685x2]
basically its exactly like sort's /compare argument.
like /skip, maybe the /compare refinement could become more generalized. 
 this would be a logical complement to the flat record concept which 
/skip enables... 


wrt SQL, in some cases /compare is used as a where clause, other 
times its the argument to TOP, somethimes its used as the ORDER-BY, 
its very symmetric and much simpler to have the same refinement for 
all of these IMHO
[unknown: 5]
8-May-2009
[13687]
Would be nice to add that functionality to those other functions 
that could use it.
kcollins
8-May-2009
[13688]
So the desired feature is to return the series at the position of 
the first element which meets a specified condition?
[unknown: 5]
8-May-2009
[13689x2]
yes.
since find already has /reverse that would be nice to have it use 
that as well such as:

find/reverse series > 3
Maxim
8-May-2009
[13691]
there some details to consider for string parsing though...
kcollins
8-May-2009
[13692]
You might want to revise the Curecode ticket to be more explicit. 
As it is now I believe it is vulnerable to misinterpretation.
Maxim
8-May-2009
[13693]
like how to handle /tail
Anton
9-May-2009
[13694x4]
MAP is close to what you want.

data: [1 2 3 4 5 6 7 8 9 10]
map v data [either v > 5 [v][]]
;== [6 7 8 9 10]
foronly: func [cond data][map v data compose [either (cond) [v][]]]
foronly [v > 5] data
;== [6 7 8 9 10]
foronly [even? v] data
;== [2 4 6 8 10]
(A better name for FORONLY would probably be FINDALL or something 
like that.)
It's related to COLLECT and I suppose "GATHER".
Janko
12-May-2009
[13698x2]
do any of you rebol gurus see a way to do something like coroutines 
/ yield / generators with rebol - so far a lot was possible to be 
done in rebol on a library level because it can change it's own code 
and because primitives aren't really primitives, but I don't see 
how this could be done ( there is magical do/next but it would block 
until loop exits so for something like this example it won't work). 
I am not sure I know the exact definition of coroutines so I will 
give an simple fictional example.. 

...
retvieve-time: func [ node /local msg ] [ 
	send-message node "get-time"
	while [ not msg: get-waiting-message ] [ yield ]
	print [ "the time is" msg ]
]

append *processes* :retrieve-time
retrieve-time *timer-node*

forever [ foreach p *processes* [ continue p ] ]


Yield returns controll from function, and next time continue is function 
continues at that point. I know the example isn't technically correct 
(for example when function exits it should be flagged and cleared 
from *processes* etc) , but just for illustration what I am asking
I made progress with my simple actors library few weeks back  but 
I still ahvent found time to make a blogpost about it.. it works 
nicely without something like yield and probably even has few advantages, 
but I am interested if somehow this can be made on top of rebol too
BrianH
12-May-2009
[13700]
R3 will have multitasking. For R2 you need to write your own interpreter, 
or switch the semantics (actors), or multiprocess.
Robert
13-May-2009
[13701]
I will never remember the trick: How can I get an output of 12.30 
instead of 12.3?
[unknown: 5]
13-May-2009
[13702x2]
BrianH, R3 discussions should go in the Rebol3 group.
(The hypocrisy).
Geomol
13-May-2009
[13704]
Robert, do you mean using money datatype?

>> $12.3
== $12.30

or maybe something like

>> append mold 12.3 "0"
== "12.30"
Robert
13-May-2009
[13705x9]
ah, I forget about money! in R2... thx.
Next one: I need to construct a HREF="..." with some dynamic code.
compose [<a href="/rest-cart/ordet/ (to-string session/id) "> "Bezahlen" 
</a>]
Of course this doesn't work. But converting the TAG to strings and 
than combining it all didn't work too.
And why this:
>> rejoin [<a href="test"> "Test" </a>]
== <a href="test"Test</a>>
This works but is ugly:
>> rejoin [<a href="test"> "Test" </a>]
== <a href="test"Test</a>>
sorry, I mean this:
>> to-tag rejoin [{a href="test">} "Test" "</a"]
 
== <a href="test">Test</a>
Henrik
13-May-2009
[13714]
Robert, what about BUILD-TAG?
Robert
13-May-2009
[13715x2]
;) He, he... to may functions to remember. Yep I think this works 
too and looks better.
Money: And way to get rid of the $ sign? I need Û at the end.
Sunanda
13-May-2009
[13717]
second $3.4
== 3.4
Robert
13-May-2009
[13718x2]
Without REMOVE etc.
Ah, cool. Didn't know this. Always something new after so many years...
Sunanda
13-May-2009
[13720]
Just tried it with R3-alpha ..... It does  not work.
I'll report it in Curecode.
Robert
13-May-2009
[13721]
Good, at least it helped to catch a bug.
Sunanda
13-May-2009
[13722]
:-)
  to-decimal $3.4

works in R3 but not R2.....So it may be a change of behavior, not 
a bug. Look out for reponse to curecode #807
Robert
13-May-2009
[13723]
But does it give the trailing 0 in R3?
Sunanda
13-May-2009
[13724]
Does not look like it:
    >> to-decimal $3.4
    == 3.4
Sunanda
14-May-2009
[13725]
Looks like to-decimal will be the R3 way:
http://curecode.org/rebol3/ticket.rsp?id=807
amacleod
14-May-2009
[13726]
How can I track the number of times a word/phrase occurs in a string!
I tried this: 
	if find str "a phrase" [print "found phrase"]
but it seems to only find the first occurance.
Steeve
14-May-2009
[13727]
is that a joke ?