00:00:00 --- log: started retro/06.08.31 01:09:28 --- join: virl (n=virl@chello062178085149.1.12.vie.surfer.at) joined #retro 01:54:56 --- quit: virl (Remote closed the connection) 01:57:04 --- join: virl (n=virl@chello062178085149.1.12.vie.surfer.at) joined #retro 02:16:33 --- quit: virl ("Verlassend") 04:04:56 --- join: virl (n=virl@chello062178085149.1.12.vie.surfer.at) joined #retro 06:10:26 --- join: nighty (n=nighty@66-163-28-100.ip.tor.radiant.net) joined #retro 06:22:26 --- join: timlarson_ (n=timlarso@65.116.199.19) joined #retro 06:40:43 --- nick: Raystm2 -> nanstm 06:59:44 --- quit: virl (Remote closed the connection) 07:00:03 --- join: virl (n=virl@chello062178085149.1.12.vie.surfer.at) joined #retro 07:15:34 --- join: Ray-work (n=Raystm2@199.227.227.26) joined #retro 07:33:51 --- quit: Ray_work (Read error: 113 (No route to host)) 07:34:13 --- join: Ray_work (n=Raystm2@199.227.227.26) joined #retro 07:35:03 --- quit: Ray-work (Read error: 113 (No route to host)) 08:30:13 --- nick: Ray_work -> Ray-work 08:34:26 --- nick: Ray-work -> Raywork 08:36:17 --- nick: Raywork -> Ray_work 08:38:00 --- quit: Ray_work ("User pushed the X - because it's Xtra, baby") 09:33:23 --- join: Ray_work (n=Raystm2@199.227.227.26) joined #retro 09:38:05 --- join: rabbitwhite (n=roger@136.160.196.114) joined #retro 10:31:09 --- quit: Ray_work (Read error: 110 (Connection timed out)) 10:32:45 --- join: Ray_work (n=Raystm2@199.227.227.26) joined #retro 10:35:41 --- quit: rabbitwhite () 10:42:47 --- join: Ray-work (n=Raystm2@199.227.227.26) joined #retro 10:51:02 --- quit: Cheery (Read error: 110 (Connection timed out)) 10:52:06 --- join: Cheery (n=Cheery@a81-197-19-23.elisa-laajakaista.fi) joined #retro 10:59:40 --- quit: Ray_work (Read error: 110 (Connection timed out)) 11:16:36 --- join: Quartus_ (n=Quartus_@209.167.5.1) joined #retro 11:17:49 --- join: Ray_work (n=Raystm2@199.227.227.26) joined #retro 11:27:37 Has anyone written quicksort for forth? 11:27:50 What kind of interface did he do? 11:29:22 I have. ( addr u xt -- ) 11:29:42 what does u mean? 11:29:52 and why there are two addresses? 11:30:28 one address, the array of pointers. U is the number of elements. Xt is the comparison function. 11:31:16 Isn't there a offset to jump given? 11:31:35 hmm? 11:31:37 --- join: snoopy_1711 (i=snoopy_1@dslb-084-058-184-151.pools.arcor-ip.net) joined #retro 11:31:53 or wait... 11:31:56 the array of pointers... 11:32:04 what was I thinking? :p 11:33:13 --- quit: Ray-work (Read error: 113 (No route to host)) 11:39:37 --- quit: Snoopy42 (Read error: 145 (Connection timed out)) 11:39:39 --- nick: snoopy_1711 -> Snoopy42 11:59:31 Quartus_: I think I'll use similar to yours, expect more general. 11:59:49 sequence count offset [[comparison function]] quicksort 11:59:58 ( acox-- ) 12:07:53 why offset? 12:08:23 assumes the data is in array. 12:08:50 and offset is simply the amount needed to jump into next record 12:14:12 Oh. My qsort works on pointers only. 12:14:24 If I need something else, I'll set up an array of pointers to it and sort that. 12:17:13 In fact the base qsort word takes ( first-addr last-addr -- ) 12:17:19 It's the wrapper, sort, that takes ( addr u xt -- ) 12:18:31 --- quit: Quartus_ ("used jmIrc") 12:24:34 I do want the performant solution for what I'm primarily doing. 12:25:02 But then, maybe we should do something to make difference between these two kind of qsorts, kind of, shake hands with a common ground of naming? 12:25:23 Just to make our code easier compatible with others' :) 12:25:29 I love to share things. 12:27:33 sort ( addr u xt -- ) is the common interface to all my sorts. I revector it for heap, insertion, or quicksort. 12:28:37 By default it's quicksort, which meets just about every need. 12:57:24 --- join: Ray-work (n=Raystm2@199.227.227.26) joined #retro 13:12:08 --- quit: Ray_work (Read error: 110 (Connection timed out)) 13:17:25 --- join: Ray_work (n=Raystm2@199.227.227.26) joined #retro 13:24:10 --- quit: Ray-work (Read error: 113 (No route to host)) 13:24:14 --- join: Ray-work (n=Raystm2@199.227.227.26) joined #retro 13:26:59 --- nick: Ray-work -> Raystm2 13:27:17 --- mode: ChanServ set +o Raystm2 13:27:28 --- quit: Cheery ("Download Gaim: http://gaim.sourceforge.net/") 13:28:21 --- nick: Raystm2 -> Ray-work 13:34:18 --- join: Ray-work_ (n=Raystm2@199.227.227.26) joined #retro 13:35:29 --- quit: Ray_work (Read error: 113 (No route to host)) 13:44:17 --- join: Ray_work (n=Raystm2@199.227.227.26) joined #retro 13:48:37 --- quit: Ray-work (Read error: 110 (Connection timed out)) 13:52:58 Made some additional optimizations. The quicksort benchmark now runs 1.9x slower than gforth-fast. 13:54:19 --- join: Ray-work (n=Raystm2@199.227.227.26) joined #retro 13:55:36 Retroforth now runs the benchmark 2.5x faster with the optimizations than without. Not bad for redefining a small handful of primitives. 13:57:51 Hi Quartus 13:57:57 excellent. 13:57:59 hi both. 13:58:18 what else did you find since yesterday? 13:59:03 hello Ray 14:01:21 --- quit: Ray-work_ (Read error: 113 (No route to host)) 14:03:24 Half a dozen words that were implemented slowly. 14:03:43 2dup cell+ r@ etc. 14:04:55 2/ cells 14:04:58 couple of others. 14:05:27 I see 14:05:44 quite nice improvement though! 14:05:58 Yes, not bad! 14:06:35 The inlining is a bit more aggressive, which would be countered by peephole optimization, but that's a longer-term thing. 14:10:55 --- quit: Ray_work (Read error: 110 (Connection timed out)) 14:12:42 Interestingly SwiftForth (native-code) and Gforth run the benchmark at about the same speed. 14:12:56 SwiftForth is slighty faster than gforth-fast. 14:15:53 huh? Is SwiftForth so slow or did GForth get really fast recently? 14:16:14 Gforth has speed as a goal, it does pretty well. 14:16:26 Esp. gforth-fast. 14:17:13 gforth-fast runs the bench 1.5x faster than gforth, here. 14:19:20 --- join: Ray_work (n=Raystm2@199.227.227.26) joined #retro 14:33:53 --- quit: timlarson_ ("Leaving") 14:34:35 --- quit: Ray-work (Read error: 113 (No route to host)) 14:44:22 --- join: Ray-work (n=Raystm2@199.227.227.26) joined #retro 14:59:26 --- join: Ray-work_ (n=Raystm2@199.227.227.26) joined #retro 15:00:34 --- quit: Ray_work (Read error: 110 (Connection timed out)) 15:00:56 --- quit: Ray-work_ (Client Quit) 15:17:36 --- quit: Ray-work (Read error: 110 (Connection timed out)) 15:52:14 --- quit: ChanServ (sterling.freenode.net irc.freenode.net) 15:55:44 --- join: ChanServ (ChanServ@services.) joined #retro 15:55:44 --- mode: irc.freenode.net set +o ChanServ 16:09:00 --- nick: nanstm -> Raystm2 16:35:39 Good evening all. 17:04:44 --- quit: virl (Remote closed the connection) 17:32:01 --- join: Quartus_ (n=Quartus_@209.167.5.1) joined #retro 18:01:58 crc: I'd like to get RetroForth and Rx-core listed on http://www.forth.org/compilers.html and on http://en.wikipedia.org/wiki/Forth_programming_language with your permission. I assume this would mean that you might need to agree to link back to Tagetta, so I'm asking permission before proceeding with contacting these sites. You may have reasons you wish not to be listed. 18:20:46 go right ahead 18:25:31 thanks. 18:43:51 Ok fired off the E-mail to Taygeta. 18:44:01 Now to attack Wikipedia. 18:44:29 Raystm2, you can just modify the wiki page. 18:44:47 Yes, thank you. :) 18:49:56 --- quit: Quartus_ ("used jmIrc") 18:54:54 http://en.wikipedia.org/wiki/Forth#External_links 18:55:01 okay? suggestions? 18:56:29 complaints? 18:56:41 I'm sure anybody who hates it will edit it back out. :) 18:56:57 yeah. True. 18:57:50 I didn't know how to do a double-bullet to make it line up tabbed over one under free implimentations. 18:58:08 There's probably some online help. 18:58:18 Wait, that kind of example has got to be on some page... 18:58:19 ya. 19:04:49 I took out the * for now. 22:29:56 --- join: futhin (n=wunderwa@bespin.org) joined #retro 22:30:18 despair is a stupid key 22:31:17 it should be something more positive :P 23:05:28 --- join: Cheery (n=Cheery@a81-197-19-23.elisa-laajakaista.fi) joined #retro 23:36:02 RetroForth ANS package update: http://retroforth.net/board/index.php/topic,310.msg1599.html#msg1599 23:43:06 Several new things in there. 23:44:03 so you're doing an ANS thing for retro? 23:44:34 Yes, I've been working on it for bit. It's in pretty good shape. 23:45:32 do you have apps that you've coded that you're planning on porting to retro with the ANS thing? 23:46:20 It already works with large ANS sources. I don't have a specific app of my own I'm targeting with it, not presently, but I'm using it for regular development work on other projects. 23:47:07 i'm interested in what projects you're working on in forth that isn't lowlevel/implementation stuff? like something useful or whatever 23:49:36 Oh. I write apps for Quartus Forth on the Palm, primarily, but I'm working on other things. I use Forth as an application-development language, this ANS layer is just a programming exercise that is useful to me -- hopefully to others too. :) 23:50:05 I'm building experimental optimization stuff on top of it. But that's just a side-interest. 23:50:35 cool, what kind of optimization stuff? or what is the problem you're trying to optimize for? 23:50:56 Compiler optimization. Speed first, space second. Speed wins. 23:50:58 i've got an interest in evolutionary computation, which is related to optimizing 23:51:01 ah 23:51:27 thats a different kind of optimization than i was thinking of ;P 23:51:43 Ok. 23:52:10 well stuff like factory scheduling & resource usage is an optimization problem 23:52:30 or traveling salesman problem etc 23:52:50 Yes. Not all that different, in many regards, to optimizing the compiling of code sequences. 23:55:36 i'd like to optimize compilers as we know it out of existence ;P 23:57:44 I don't have any such grand aspirations. 23:59:59 --- log: ended retro/06.08.31