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

World: r3wp

[!REBOL3-OLD1]

Maxim
14-May-2009
[14208]
are there any matrix operations for vectors?
Steeve
14-May-2009
[14209]
in your dreams Maxim, only in your dreams...
BrianH
14-May-2009
[14210x2]
Not yet. We're waiting to add that until we implement multidimensional 
vectors.
Same with Steeve's scalar math request.
Pekr
14-May-2009
[14212x2]
multivectors? I am curious about its semantics ...
I can't feel there is any intention to add such feature for 3.0 :-)
Steeve
14-May-2009
[14214]
can't or can ?
Pekr
14-May-2009
[14215]
can't. It is not on R3.0 list of features, IIRC.
BrianH
14-May-2009
[14216]
We aree also curious about the semantics of multidimensional vectors, 
which is why they aren't implemented yet.
Steeve
14-May-2009
[14217]
I hope Brian may enter these features in Carl's brain, by force...
Pekr
14-May-2009
[14218]
:-)
Maxim
14-May-2009
[14219]
we need pekr to argue with carl too  ;-)
BrianH
14-May-2009
[14220]
They are lower priority than security issues (the reason for the 
new reflection), multitasking (the reason for the new system), etc.
Pekr
14-May-2009
[14221x3]
I think that you have to use my past aproach - to cry loud, to cry 
often, to cry on many places .....
My experience is, that Carl works in his own world, and it is good, 
we communicate with him via some "API" :-) E.g. I had to mention 
article about the need to use better timers (not done yet) for something 
like 3 or 4 times. Then, when I found the right time and his mood 
to actually look into it, I think that he agreed that there is better 
solution than what we now have ...
Brian: I think that tasking is not going in for 3.0
BrianH
14-May-2009
[14224]
What we then had, or what we now have? He redid timers once already...
Pekr
14-May-2009
[14225]
I think that we need - plugins, security, gfx, gui, few protocols 
(later some engine like cheyenne inside), well, we need many things. 
Also current implementation of codecs is absolutly useless, no concept, 
just a workaround ...
BrianH
14-May-2009
[14226]
We needed the system object changes for modularity and security too. 
Once we clean up for those, multitasking won't be that hard.
Pekr
14-May-2009
[14227x2]
BrainH: I'll point you to one article, wait a min., I need to find 
it. Actually - it was Cyphre who found it IIRC.
http://www.codeproject.com/KB/system/timers_intro.aspx


we imo need multimedia timers, definitely. So "small" change can 
make big difference. We don't ned to look pre W2K imo. And it is 
crazy that MS has all this mess in their API. The good thing is, 
that timers are host layer, so community can advance it ...
Will
14-May-2009
[14229]
could this help in R3? http://www.cilk.com/The Cilk++ cross-platform 
solution offers the easiest, quickest, and most reliable way to maximize 
application performance on multicore processors.
BrianH
14-May-2009
[14230x2]
The reason Carl is focusing on these simple datatype changes now 
(like vector!, image! and money!) is because they affect rebin, and 
rebin not being done is currently what is blocking the release of 
the host code.
Will, that's not cross-platform enough for R3 :(
Pekr
14-May-2009
[14232]
I wonder how he resolved the problem he advised in R3 Chat, that 
with his initial idea not everything could be dynamic (draw). Hopefully 
he found some solution.
Maxim
14-May-2009
[14233]
is R3 coded in C or C++
Pekr
14-May-2009
[14234]
Well, if Carl uses CureCode, I should post Timer related ticket probably 
:-) ... and maybe BlitJit/AsmJit ones too :-)
BrianH
14-May-2009
[14235]
Mostly C, though AGG is written in C++.
Pekr
14-May-2009
[14236x2]
Max - I think it is C, although AGG is C++
BrianH: what is FIRST+? What is the difference to pick port 1 or 
just first port?
BrianH
14-May-2009
[14238x2]
FIRST+ takes a word that refers to a series and it advances the word 
to the next position while returning the first value.
It's a speed/simplicity thing.
Pekr
14-May-2009
[14240x2]
Something like: str: next str?
ah, ok, should have read all your post :-)
Maxim
14-May-2009
[14242]
Many new funcs play with the supplied series which is great!
BrianH
14-May-2009
[14243]
Here's the R2-Forward version:

first+: funco [
	{Return FIRST of series, and increment the series index.}
	[catch]

 'word [word! paren!] "Word must be a series."  ; paren! added for 
 R2
][

 ; Workaround for R3 change in lit-word! parameters with paren! arguments
	if paren? :word [set/any 'word do :word] 
	throw-on-error [also pick get word 1 set word next get word]
]
Pekr
14-May-2009
[14244]
what is funco? I read its help, but don't understand. So normal function 
creation in R3 creates copy of body, whereas funco shares it?
Steeve
14-May-2009
[14245]
funco remains me pulco citron (pulco citrus) a beverage
Pekr
14-May-2009
[14246]
there starts to be too many function related functions: function, 
func, funct, funco ....
BrianH
14-May-2009
[14247]
Right. FUNCO is basically like R2's FUNC - only sa to use under certain 
circumstances.
Steeve
14-May-2009
[14248]
Pekr, you have the sources of func and funco in R3
BrianH
14-May-2009
[14249x2]
But without the throw-on-error stuff.. Just use it for functions 
with correct syntax.
funco: make function! [
	"Defines a function, but does not copy spec or body."

 spec [block!] "Help string (opt) followed by arg words (and opt type 
 and string)"
	body [block!] "The body block of the function"

][ ; For functions known to have no syntax errors or recursive issues.
	make function! spec body
]
Pekr
14-May-2009
[14251]
just weird naming which makes no sense. REBOL always tried to name 
things full-name, not some weird abbreviations ... this is not the 
case with function related functions ...
BrianH
14-May-2009
[14252]
That's the R2 version.
Pekr
14-May-2009
[14253]
would it be much slower to have just one with refinements?
Steeve
14-May-2009
[14254]
surely
BrianH
14-May-2009
[14255x3]
It's short for func-original. It's the function used to define many 
mezzanine functions in R3. Fast, no error checking.
Pekr, the answer to your question is yes, it would be *much* slower 
to have one with refinements.
That's why the only function creation function with a refinement 
is FUNCT - since it does so much work anyways that the refinement 
overhead is much lower in comparison to the rest of the code.