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

World: r3wp

[!REBOL3-OLD1]

Geomol
11-Apr-2006
[446x5]
maybe
M * T for cross-product, and
M . T for dot-product?
Would it be strange to have dots flying around in the code, all by 
themselves?
Reaching second element on second row in a 2-dimensional matrix:
M/2x2
And of course we should have matrices with more than 2 dimensions, 
so something like this is possible:
M/2x2x2

So pairs need to be extended somehow into a datatype, which is like 
a vector, but with integers instead of decimals.
/joke-mode-on
Sorry guys, REBOL 3.0 is delayed another year! ;-)
/joke-mode-off
Karol
11-Apr-2006
[451]
Hi! Why use pairs for idexing thats what paths are for. What is wrong 
with M/2/2/2   ?
Pekr
11-Apr-2006
[452x2]
we should stay with path imo ...
although we got overvoted for rebcode, which uses dot ;-)
Karol
11-Apr-2006
[454]
since pairs are only integers not decimals vector and matrix could 
be replacement for draw dialect coordinates, AGG has subpixel accuracy
Rebolek
11-Apr-2006
[455]
Karol: You can do 2x2 with pair! but not 2/2 with path!
Karol
11-Apr-2006
[456]
like this: a: [ [ 0 1] [ 2.2 3.1]]  a/2/1
Rebolek
11-Apr-2006
[457]
Geomol: "So pairs need to be extended somehow into a datatype, which 
is like a vector, but with integers instead of decimals." --- decimal! 
is better in my opinion. It's consistent with current behaviour whre 
you can do 
>> block/4.5
and decimal part is truncated.
Karol
11-Apr-2006
[458x2]
but with matrix we can     a: make matrix! [ [ 0 1] [ 2.2 3.1]]  
a/2/1
if pair will be extended it overloads 16 byte limit for slot and 
become a series datatype, something complety different. there can 
be only 10 bytes per value ( I don't know exacly but tuples can have 
only 10 bytes not more)
Henrik
11-Apr-2006
[460x3]
during a bath, I thought up a Grand Master Plan:


1. Build a dialect that could handle scientific/symbolic math on 
the hard core level

2. Make it possible to take an equation and draw it up correctly 
with DRAW, a pretty print equation display. The same dialect would 
be used as above.

3. Use that to display pretty equations inline in makedoc2/3 documents!

4. Some people are working on a postscript dialect which hopefully 
eventually will be able to use DRAW blocks as an input, thereby allowing 
you to create equations on the console and convert it to DRAW or 
PS at the same time as having the ability to do calculations. That 
would be powerful.

Say:

calculate [2 [m] / 3 [cm]] ; would return the result as needed
calculate/draw [2 [m] / 3 [cm]] ; would return a DRAW block

postscript calculate/draw [2 [m] / 3 [cm]] ; would convert that DRAW 
block to postscript
now there is just the problem of doing symbolic math in such a block. 
you'd need specific functions for that, I think.
this is probably something that is best suited in another group...
Geomol
11-Apr-2006
[463]
Karol, I think, you're right. Path is ok with matrices too. M/2/2/2 
means the same as M/2x2x2, so no need for this new way.
Karol
11-Apr-2006
[464x2]
Another application for matrices can be signal processing with native 
operators it could be possible to make things like jpeg compression, 
audio effects etc in plain rebol
And I think we have them already in Rebol ............ in AGG
Maxim
11-Apr-2006
[466]
Is it just me or does it seem Carl is trying to switch many things 
around in favor of newbies only?
[unknown: 9]
11-Apr-2006
[467]
:)
Maxim
11-Apr-2006
[468]
does it seem clear to me that the first thing rebol needs is more 
documentation?
[unknown: 9]
11-Apr-2006
[469]
We ALL are....
Maxim
11-Apr-2006
[470x3]
more in the sense of tutorials, guides and stuff... not references.
in a sense, I feel, some proposals from Carl stray away from rebol's 
current orthogonality ?
I mean anyone can re-implement first, second, third as pick 1, pick 
2, pick 3 if they want.   its dead easy.
[unknown: 9]
11-Apr-2006
[473x3]
No...you hit first....newbies....
No...nothing is easy, most people are stupid, and most peoplehere 
on Rebol3 are in teh 98+ percentile...  It just "feels" easy to you.
:)
Maxim
11-Apr-2006
[476]
can I propose something then?
[unknown: 9]
11-Apr-2006
[477x2]
Always....
I am driving so my responses are going to get really simple.
Maxim
11-Apr-2006
[479x8]
switches to maintain some of the compatibility with older scripts.
I find that many issues Carl is trying to solve ignore the fact that 
most people stop using rebol not because its syntax is different 
or because of return types... those are things we learn when we use 
any language...
most people stop when they actually try to do a concrete application 
within constrains and realise many things within the implementation 
of this or that... well, just falls short of working.
and the one reason we continue using rebol is because we are of the 
type of people who WILL download an RFC and fix the http, ftp, proxy, 
xml, (whatever) protocol ourselves.
rebol claims a lot of things... but falls short in general.   for 
my latest project, I had to re-implement http posting, and xml parsing 
myself and I'm still not finished.
don't get me wrong, I live and breath by rebol, but people who are 
interested, quickly get annoyed at little things missing under the 
hood.
rebol feels like a hybrid car.  Almost, but note quite enough to 
get new people out of their cosy stylish cars.   Its got a lot of 
promise, but at what cost.
I just though I'd share my stake on several years of trying (and 
finally succeeding) to use rebol commecially.
[unknown: 9]
11-Apr-2006
[487]
I agree...
Ingo
11-Apr-2006
[488x3]
I hate those - but ... me too!
I mean, I hoate those "me too" postings :-)
hate, of course
Anton
11-Apr-2006
[491]
Feature request:  I propose SELECT's arguments should reversed, to 
be like SWITCH. I remember SWITCH being implemented and arguing to 
put the VALUE argument before the CASES block to make it easy to 
find.
Maxim
11-Apr-2006
[492]
are you on a mission to disable all scripts in the world  ;-)
Anton
11-Apr-2006
[493x3]
So, for a SELECT, you won't have to search around with your eyes 
for the VALUE argument, as in this example from the FTP scheme which 
I am currently looking at:
net-utils/net-log join "Type: " type: any [
	    all [new-dir? 'new-dir] 
	    all [new? 'new] 
	    all [dir-read? port 'dir] 

     all [port/state/flags and system/standard/port-flags/open-append 
     <> 0 'app] 
	    'file
	] 
	do select [
	    file [

  confirm-cmd port either port/algorithm = 'nlst [nlst-check] [list-check] 
		accept-connect port type 
		parse-dir-list port 
		if tmp: select locals/dir-cache to-file port/target [
		    port/status: first tmp 
		    port/date: third tmp 

      if any [none? port/size: second tmp 1024 > port/size] [port/size: 
      0]
		] 
		data-connect port 
		confirm-cmd port binary-type-check 
		if 0 < cmd-port/state/index: port/state/index [
		    confirm-cmd port restart-check
		] 
		confirm-cmd port read-check
	    ] 
	    new [confirm-cmd port write-check] 
	    new-dir [confirm-cmd port mkdir-check] 

     dir [confirm-cmd port either port/algorithm = 'nlst [nlst-check] 
     [list-check]] 
	    app [confirm-cmd port append-check]
	] type 
	accept-connect port type 
	if type = 'dir [
	    port/size: port/state/tail: parse-dir-list port
	]
    ] 
    port
]
close: func [port /local cmd-port cache-size][
    cmd-port: port/locals/cmd-port 
    if not dir-read? port [error-try? [confirm-transfer port]] 

    net-utils/net-log reform ["Caching cmd-port" cmd-port/host cmd-port/local-port 
    cmd-port/remote-port] 
    cmd-port/host: cmd-port/locals/tuple
See the first SELECT ? Now find the variable which is its VALUE argument.... 
 :-)