Mailing List Archive: 49091 messages
  • Home
  • Script library
  • AltME Archive
  • Mailing list
  • Articles Index
  • Site search
 

SHEEP vs Rebol

 [1/17] from: petr:krenzelok:trz:cz at: 12-Oct-2001 22:33


Not necessarily what subject suggests, but interesting interview with author of SHEEP, new AmigaDE scripting language. http://www.osnews.com/story.php?news_id=169 I can't imagine having Rebol compiler compiling 50 K scripts in 0.1 sec, performing at C level speeds :-( -pekr-

 [2/17] from: carl::rebol::com at: 12-Oct-2001 15:33


They would be better off using REBOL, but perhaps they don't want their scripts to run and exchange data across 40+ platforms.... -Carl At 10/12/01 10:33 PM +0200, you wrote:

 [3/17] from: carl:cybercraft at: 13-Oct-2001 12:29


On 13-Oct-01, Carl Sassenrath wrote:
> They would be better off using REBOL, but perhaps they don't want > their scripts to run and exchange data across 40+ platforms....
Not to mention doing it now, as apposed to sometime in the future - perhaps...
> -Carl > At 10/12/01 10:33 PM +0200, you wrote:
<<quoted lines omitted: 8>>
>> [rebol-request--rebol--com] with "unsubscribe" in the >> subject, without the quotes.
-- Carl Read

 [4/17] from: gchiu:compkarori at: 13-Oct-2001 13:21


On Fri, 12 Oct 2001 15:33:25 -0700 Carl Sassenrath <[carl--rebol--com]> wrote:
> They would be better off using REBOL, but perhaps they > don't want their scripts to run and exchange data across > 40+ platforms.... >
But then they would have to pay for Pro licenses for each unit so that they could have sound :) -- Graham Chiu

 [5/17] from: chrismorency:videotron:ca at: 12-Oct-2001 21:41


Hi Graham,
> > They would be better off using REBOL, but perhaps they > > don't want their scripts to run and exchange data across > > 40+ platforms.... > > > > But then they would have to pay for Pro licenses for each > unit so that they could have sound :)
me: make object! [ say: func [joke [string!]] [print joke] ] ; Sorry could'nt resist making this bad joke while feriously hackin' my rebol code ! me/say "SHEEP-shot" Chris

 [6/17] from: petr:krenzelok:trz:cz at: 13-Oct-2001 9:47

(for Carl :-) Re: Re: SHEEP vs Rebol


----- Original Message ----- From: "Carl Sassenrath" <[carl--rebol--com]> To: <[rebol-list--rebol--com]> Sent: Saturday, October 13, 2001 12:33 AM Subject: [REBOL] Re: SHEEP vs Rebol
> They would be better off using REBOL, but perhaps they don't want their
scripts to run and exchange data across 40+ platforms.... But they claim that AmigaDE itself will live on some XX platforms. The strategy here overlaps with RT's one imo, only the target audience is slightly different. AmigaDE - entertainment, electronic devices, MULTIMEDIA, Rebol (so far) - business collaborative markets, lack of multimedia ... Carl, I remember your original master-plan. We were supposed to to end-up with MagmaOS. In toda's world full of other OSes it would be probably waste of time, to introduce new one - I am talking of low level OS layers of course. Rebol running on most platforms is greter value of course, so: - give us Rebol/View running under Elate, and you are suddenly targetting all Tao based electronic devices. - give View some suggested fixes (alpha, fixed timers, exposed effect pipeline or some general engines) - or even - make some money (I hope IOS will do for RT :-), employ some additional programmers, and you personally give us Rebol/Scala (to kill Flash :-) - but - what to do with speed? Currently, we are pretty much dependant upon what (general engines) and when RT adds to its kernels. I can't imagine however building something as 3D, general 2D drawing (not just effects), dependant on primitive operations, fast enough. So, if we can't compile, we can't compete speed wise. Imagine Sheep tree example, interpreted in Rebol,it would be probably XX times slower ... btw: is there still plan to adress PDA markets with Rebol products? -pekr-

 [7/17] from: kolla:nvg:ntnu:no at: 13-Oct-2001 15:23

Re: SHEEP vs Rebol


On Fri, 12 Oct 2001, Carl Sassenrath wrote:
> They would be better off using REBOL, but perhaps they don't want their > scripts to run and exchange data across 40+ platforms....
What? A REBOL/OEM? Demo version with all sorts of pieces cut out because "most users dont need it"? Woutter has proven several times that he knows what he's doing, I dont see a problem with SHEEP as such, I'm more worried about the AmigaOS :) -- kolla

 [8/17] from: karlr20::home::com at: 13-Oct-2001 13:52

Re: (for Carl :-) Re: Re: SHEEP vs Rebol


On Saturday 13 October 2001 00:47, Petr Krenzelok wrote:
> - give us Rebol/View running under Elate, and you are suddenly targetting > all Tao based electronic devices.
<<quoted lines omitted: 9>>
> can't compete speed wise. Imagine Sheep tree example, interpreted in > Rebol,it would be probably XX times slower ...
And don't forget that Elate has it's own font engine, something REBOL/View is sorely lacking. -Karl

 [9/17] from: greggirwin:mindspring at: 13-Oct-2001 16:15


Hi Pekr, << Imagine Sheep tree example, interpreted in Rebol,it would be probably XX times slower ...>> I converted the script (appending line points to an images draw effect, refreshing the screen only when done, not worrying about how to optimize the REBOL code), and here's what I got on my P900: First run: ~4.5 seconds (and massive amounts of memory is allocated because the draw effect started out empty) Successive runs: ~.5 seconds (and memory is reclaimed) Refreshing the screen at each iteration, of course, slows things to a crawl but is more fun to watch. :) I agree with everyone who wants REBOL to be the best, fastest, safest, most productive development tool out there, but I think we also need to temper our hopes and expectations and find ways to do what we want and not use REBOL for those apps where REBOL *isn't* the best choice. Personally, I would love to have a single development tool that I could use for every project, and was the best tool for every project, but that isn't always feasible. I imagine that RT is making hard choices every day about where to expend their efforts in an attempt to make REBOL a success. They'll look at what the market demands, what limits we push in using it, and what we ask for here on the ML. I've used VB for 10 years, and QB/PDS before that. I think it's a great tool and I love as many things as I hate about what it has become. I use it for all kinds of things, but it isn't always the right tool. If someone has low memory requirements, for example, or where a completely self-contained deployment package is desired. Some of its limitations come from Windows itself. For years it didn't have a native code compiler but could work around that by building DLLs and linking to them. Not a perfect solution, but a solution none-the-less. When VB first came out, it was an uphill battle to convince people that it was a viable alternative. Their trump card, if they were against it, was Won't the app be slower than if we wrote it in C? to which I would reply Actually, the VB app will be a lot faster...probably 6 to 8 weeks faster. :) --Gregg

 [10/17] from: doncox:enterprise at: 13-Oct-2001 20:19

Re: SHEEP vs Rebol


On 12-Oct-01, Carl Sassenrath wrote:
> They would be better off using REBOL, but perhaps they don't want > their scripts to run and exchange data across 40+ platforms.... > > -Carl
Rebol View works on the Amiga (admittedly slowly) but AmigaDE doesn't. Nor does it work on Mac. Something wrong there. But SHEEP does look like a nice language. Regards -- Don Cox [doncox--enterprise--net]

 [11/17] from: carl:cybercraft at: 14-Oct-2001 14:13

Re: (for Carl :-) Re: Re: SHEEP vs Rebol


On 14-Oct-01, Gregg Irwin wrote:
> Hi Pekr, > << Imagine Sheep tree example, interpreted in Rebol,it would be
<<quoted lines omitted: 7>>
> Refreshing the screen at each iteration, of course, slows things to > a crawl but is more fun to watch. :)
So, do we get to see the script? (: -- Carl Read

 [12/17] from: allenk::powerup::com::au at: 15-Oct-2001 7:11

Re: SHEEP vs Rebol (Pythagoras Tree)


Hi Gregg, I think the modified script below will improve the first time performance by quite a bit for you. Pre allocating the space needed makes a big diff. (1/3 the time on my machine) Cheers, Allen K REBOL [ Comment: { Converted to REBOL by Gregg Irwin for testing purposes. Some speed mods. Pre-allocated block size, REBOLised the maths Allen K } ] pyth-tree: func [ a[pair!] b[pair!] depth[integer!] face /local c d e color ][ c: d: e: 0x0 color: depth * -10 + 0.255.0 c/x: a/x - a/y + b/y c/y: a/x + a/y - b/x d/x: b/x + b/y - a/y d/y: a/x - b/x + b/y e/x: c/x - c/y + d/x + d/y * 0.5 e/y: c/x + c/y - d/x + d/y * 0.5 append draw-cmds compose [pen (color) line (c) (a) (b) (d) (c) (e) (d)] ;append draw-cmds reduce [c a b d c e d] ;print [c a b d c e d] ;show face if depth < 12 [ pyth-tree c e depth + 1 face pyth-tree e d depth + 1 face ] ;wait .05 ] world-size: 640x520 start-pt-1: 266x450 start-pt-2: 374x450 lay: layout [ size world-size backdrop black origin 0x0 canvas: image 640x480 across button "go" [ clear draw-cmds ;show canvas print now/precise pyth-tree start-pt-1 start-pt-2 0 canvas print now/precise ;print length? draw-cmds show canvas ] button "quit" [quit] ] ; preallocate the space needed canvas/effect: reduce ['draw draw-cmds: make block! 90000] print "" view lay

 [13/17] from: philb:upnaway at: 15-Oct-2001 8:23


H Gregg/Allen, Wow that really surprised me .... Not Pre-allocated 15-Oct-2001/8:16:35.54+8:00 15-Oct-2001/8:16:41.03+8:00 05.49 seconds Preallocated 15-Oct-2001/8:17:32.6+8:00 15-Oct-2001/8:17:33.1+8:00 0.5 seconds That a 10 times improvement .... This is on Windoze 98SE with 128 Mb of ram. Cheers Phil -- original message Hi Gregg, I think the modified script below will improve the first time performance by quite a bit for you. Pre allocating the space needed makes a big diff. (1/3 the time on my machine) Cheers, Allen K REBOL [ Comment: { Converted to REBOL by Gregg Irwin for testing purposes. Some speed mods. Pre-allocated block size, REBOLised the maths Allen K } ] pyth-tree: func [ a[pair!] b[pair!] depth[integer!] face /local c d e color ][ c: d: e: 0x0 color: depth * -10 + 0.255.0 c/x: a/x - a/y + b/y c/y: a/x + a/y - b/x d/x: b/x + b/y - a/y d/y: a/x - b/x + b/y e/x: c/x - c/y + d/x + d/y * 0.5 e/y: c/x + c/y - d/x + d/y * 0.5 append draw-cmds compose [pen (color) line (c) (a) (b) (d) (c) (e) (d)] ;append draw-cmds reduce [c a b d c e d] ;print [c a b d c e d] ;show face if depth < 12 [ pyth-tree c e depth + 1 face pyth-tree e d depth + 1 face ] ;wait .05 ] world-size: 640x520 start-pt-1: 266x450 start-pt-2: 374x450 lay: layout [ size world-size backdrop black origin 0x0 canvas: image 640x480 across button "go" [ clear draw-cmds ;show canvas print now/precise pyth-tree start-pt-1 start-pt-2 0 canvas print now/precise ;print length? draw-cmds show canvas ] button "quit" [quit] ] ; preallocate the space needed canvas/effect: reduce ['draw draw-cmds: make block! 90000] print "" view lay

 [14/17] from: greggirwin:mindspring at: 14-Oct-2001 18:28


Thanks Allen! I still have those "beginners blues". Your mods are appreciated more for teaching me than the speed (which is now ~.3 seconds here). :) --Gregg

 [15/17] from: greggirwin:mindspring at: 14-Oct-2001 10:28

Re: (for Carl :-) Re: Re: SHEEP vs Rebol


Hi Carl, << So, do we get to see the script? (: >> I wasn't sure if people would be interested. Here it is. -- Tree of Pythagoras -- based on an old E example by Raymond Hoving REBOL [ Comment: { Converted to REBOL by Gregg Irwin for testing purposes. } ] pyth-tree: func [ a[pair!] b[pair!] depth[integer!] face /local c d e color ][ c: d: e: 0x0 color: 0.255.0 - (depth * 10) c/x: (a/x - a/y + b/y) c/y: (a/x + a/y - b/x) d/x: (b/x + b/y - a/y) d/y: (a/x - b/x + b/y) e/x: (0.5 * (c/x - c/y + d/x + d/y)) e/y: (0.5 * (c/x + c/y - d/x + d/y)) append draw-cmds compose [pen (color) line] append draw-cmds reduce [c a b d c e d] ;print [c a b d c e d] ;show face if depth < 12 [ pyth-tree c e (depth + 1) face pyth-tree e d (depth + 1) face ] ;wait .05 ] world-size: 640x520 start-pt-1: 266x450 start-pt-2: 374x450 lay: layout [ size world-size backdrop black origin 0x0 canvas: image 640x480 effect [draw []] across button "go" [ clear draw-cmds show canvas print now/precise pyth-tree start-pt-1 start-pt-2 0 canvas print now/precise show canvas ] button "quit" [quit] ] draw-cmds: second canvas/effect print "" view lay --Gregg

 [16/17] from: holger:rebol at: 16-Oct-2001 12:45

Re: SHEEP vs Rebol (Pythagoras Tree)


On Mon, Oct 15, 2001 at 07:11:32AM +1000, Allen Kamp wrote:
> Hi Gregg, > > I think the modified script below will improve the first time performance by > quite a bit > for you. Pre allocating the space needed makes a big diff. (1/3 the time on > my machine)
Yes, that's a bug (two actually) in REBOL. Will be fixed in the next version. The time for the original script, without preallocation, is down to 0.6 sec here now. -- Holger Kruse [holger--rebol--com]

 [17/17] from: petr:krenzelok:trz:cz at: 16-Oct-2001 23:31


----- Original Message ----- From: <[holger--rebol--com]> To: <[rebol-list--rebol--com]> Sent: Tuesday, October 16, 2001 9:45 PM Subject: [REBOL] Re: SHEEP vs Rebol (Pythagoras Tree)
> On Mon, Oct 15, 2001 at 07:11:32AM +1000, Allen Kamp wrote: > > Hi Gregg, > > > > I think the modified script below will improve the first time
performance by
> > quite a bit > > for you. Pre allocating the space needed makes a big diff. (1/3 the time
on
> > my machine) > > Yes, that's a bug (two actually) in REBOL. Will be fixed in the next > version. The time for the original script, without preallocation, is > down to 0.6 sec here now.
Any other nice bug-fixes, speeding things up? :-) -pekr-

Notes
  • Quoted lines have been omitted from some messages.
    View the message alone to see the lines that have been omitted