00:00:00 --- log: started forth/08.09.29 00:08:31 --- join: ramkrsna (n=ramkrsna@unaffiliated/ramkrsna) joined #forth 01:21:23 --- quit: proteusguy (Read error: 110 (Connection timed out)) 01:21:56 --- join: proteusguy (n=proteusg@61.7.144.97) joined #forth 01:36:22 --- join: qFox (i=C00K13S@132pc222.sshunet.nl) joined #forth 01:56:39 --- quit: nighty__ (Client Quit) 03:53:15 --- join: Malfermi1aKodo (n=kansu@xdsl-78-34-152-1.netcologne.de) joined #forth 04:04:15 --- quit: MalfermitaKodo (Read error: 110 (Connection timed out)) 04:30:12 --- nick: Malfermi1aKodo -> MalfermitaKodo 04:40:36 --- quit: ASau` (Remote closed the connection) 04:41:43 --- join: ASau (n=user@host127-231-msk.microtest.ru) joined #forth 04:42:14 --- nick: ASau -> ASau` 06:17:25 --- join: craigoz (n=craigo@202.63.56.72) joined #forth 06:22:39 --- quit: proteusguy (Read error: 110 (Connection timed out)) 06:23:08 --- join: proteusguy (n=proteusg@61.7.144.97) joined #forth 06:52:31 --- quit: mathrick (Read error: 110 (Connection timed out)) 06:55:05 --- join: mathrick (n=mathrick@users177.kollegienet.dk) joined #forth 07:59:34 --- join: ASau (n=user@193.138.70.52) joined #forth 08:22:13 --- join: Quartus` (n=Quartus`@74.198.12.8) joined #forth 08:31:52 hi. 08:48:15 --- quit: mathrick (Read error: 110 (Connection timed out)) 08:52:11 --- join: mathrick (n=mathrick@users177.kollegienet.dk) joined #forth 10:12:00 --- quit: ASau` (Read error: 110 (Connection timed out)) 10:12:23 hi 10:28:35 --- quit: ramkrsna (Remote closed the connection) 10:41:22 --- join: forther (n=forther@207.47.34.100.static.nextweb.net) joined #forth 10:44:08 --- part: craigoz left #forth 11:11:50 intellasys isnt quite the fastest when it comes down to responding 11:12:03 i'll give them a few more days and then try again, on multiple addresses 11:12:30 (for that seaforth dongle thing) 12:08:03 --- quit: Baughn ("Installing arch") 12:40:38 --- nick: mathrick -> baka 12:41:32 --- nick: baka -> mathrick 13:15:30 --- join: Baughn (n=svein@084202038064.customer.alfanett.no) joined #forth 14:56:52 --- quit: qFox (Read error: 104 (Connection reset by peer)) 15:55:07 --- part: forther left #forth 16:11:14 --- join: Malfermi1aKodo (n=kansu@xdsl-78-34-135-102.netcologne.de) joined #forth 16:22:53 --- quit: MalfermitaKodo (Read error: 110 (Connection timed out)) 18:04:19 --- join: nighty__ (n=nighty@210.188.173.246) joined #forth 19:28:26 --- join: Rodo12 (i=Rodo12@v-209-98-172-250.mn.visi.com) joined #forth 19:28:56 What is "a1" in a stack comment? 19:33:38 --- quit: Rodo12 () 19:37:09 ^_^ 19:43:52 It's "a1" 21:12:44 --- quit: ASau (Read error: 113 (No route to host)) 21:14:58 --- quit: gogonkt`` ("leaving") 21:47:54 --- quit: Quartus` (Read error: 104 (Connection reset by peer)) 22:15:38 --- join: ASau (n=user@host101-231-msk.microtest.ru) joined #forth 22:20:11 --- quit: proteusguy (Read error: 110 (Connection timed out)) 22:21:27 --- join: proteusguy (n=proteusg@61.7.144.97) joined #forth 22:25:01 --- join: DocPlatypus (n=skquinn@dialup-4.230.3.147.Dial1.Houston1.Level3.net) joined #forth 22:27:01 hello 22:27:10 hi 22:27:26 long time no see... been hard at work 22:27:51 http://factor-language.blogspot.com/2008/09/new-and-improved-factor-web.html web apps in a stack based language 22:28:45 just now finished a set of words to handle a deck of cards and evaluate poker hands in Forth. took me about two months off and on to get finished 22:29:09 a poker hand evaluator doesn't sound like 2 months work 22:29:39 maybe less than that. during about two weeks of that we had no power due to the hurricane 22:29:44 ah 22:29:47 that sucks 22:29:53 is everything back to normal now? 22:30:33 also... that includes at least one whole rewrite. I had a functional one much earlier, but it was dog slow. was nominally using that version until I stumbled upon a much better one. and yes we're back to normal 22:31:42 http://www.suffecool.net/poker/evaluator.html -- I use his ideas but I did not try to directly translate his C code 22:31:59 did you forth code come out nice? 22:32:04 the last time I tried to do that, for pom.c, it went down in flames 22:33:23 it's about as good as I can expect it to be under GNU Forth. went through one million heads-up hold'em hands, with separate evaluation after flop, turn, and river, in 33 minutes. still needs speeding up if I'm going to do the hard core research I originally had in mind 22:33:54 this is on an old PC 22:34:25 800 MHz Celeron 22:35:39 given that's a shuffle, cut, and then 21 separate five-card evals per hand, plus the I/O... that's not bad. the old version was crude and could easily have taken 5 times as long 22:35:56 can you paste the code at paste.factorcode.or ? 22:35:58 org* 22:37:47 probably some of it... all the data to make it work is well into 700K+ of source files 22:38:19 most of which is semi-automatically generated (i.e. I'd run sort on part of the output and make it pretty) 22:38:20 700k+ ? 22:39:08 ok part of it is not really necessary... the truly essential part is 124K or so 22:39:18 that's a starnge design 22:39:21 i would've thought its a page of code or so 22:39:35 one sec 22:39:57 the core probably is a couple pages. but there's a lot of words that core depends on that add to it 22:40:26 poker.fs is 12K by itself, but pulls in pokerdata[123].fs among others 22:41:25 with 2 being 124K, and 3 being 616K... and 3 is just the table to convert an equivalence class number to an older hand/qualifier system used by the old code 22:41:31 which may well be phased out at some point 22:42:51 it's a more space efficient design than Cactus Kev's (he thinks nothing of wasting 15K) ... and those are the sizes of the source files. it does not take that much memory 22:44:35 the compiled .fi is 322K 22:44:55 to evaluate poker hands? 22:45:01 I'd say your design is worse. 22:45:51 * aspect boggles 22:46:41 that 124K source file is a lookup table. create, and then a bunch of numbers, and then a constant for the length 22:46:51 So what? 22:47:02 why are you using such a bizarre approach? 22:47:05 in fairness... it could be automatically generated at run-time 22:47:08 It is included in source. 22:47:29 If it can be generated, it must be generated. 22:48:35 I may try doing it that way as an experiment 22:49:17 did you generate the tables or type them in by hand over the course of two months? :) 22:49:42 What I see, is that you wasted 616 KB instead of 15 KB as another person. 22:49:49 slava: I generated them semi-automatically 22:50:02 "Semi" isn't automatically. 22:50:32 by semi I mean the bulk of it was automatic, then I ran "sort" on part of the output to get what I really wanted 22:50:47 so you used a unix shell tool ? 22:51:00 slava: actually another Forth fragment and gvim 22:51:22 gvim? 22:51:29 jesus 22:51:43 vi-like editor. lets me highlight part of a file and sort it 22:52:22 why not just port this to forth? http://www.suffecool.net/poker/code/pokerlib.c 22:54:06 I had already hacked out half the framework I needed before stumbling upon that. the rewrite uses a lot of ideas from that code though 22:54:59 --- join: butt-head (n=butt-hea@c-75-72-220-197.hsd1.mn.comcast.net) joined #forth 22:55:36 my seven-card evaluator wrapper is similar to what he does with perm7 22:55:36 uh huh-huh-huh, huh-huh-huh, you said 'wood' 22:56:26 except I have one for six cards and seven cards that can take a previous five- or six-card eval and not re-run those evals 22:56:26 uh huh-huh-huh, huh-huh-huh, you said 'come' 22:57:16 * DocPlatypus smacks butt-head with a printed copy of "Thinking Forth" 22:57:17 uh huh-huh-huh, huh-huh-huh, you said 'butt' 23:00:12 amazingly arrays.h is the same 124K but a lot of at least one of those arrays are zeroes 23:00:12 uh huh-huh-huh, huh-huh-huh, you said 'arse' 23:02:53 --- quit: butt-head (Remote closed the connection) 23:07:43 http://paste.factorcode.org/paste?id=39 for those still curious 23:08:20 nip nip \ no idea where these are coming from. 23:09:02 something is/was littering the stack, somewhere. prior to release that buglet will be hunted down and shot 23:10:52 it sucks that forth makes you say [ 7462 5854 - ] literal instead of 7462 5854 - 23:11:10 yeah but I've gotten used to it. 23:12:01 that's actually done so we don't waste time calculating it every time 23:12:17 its something the compiler should do for you 23:12:26 --- join: ramkrsna (n=ramkrsna@unaffiliated/ramkrsna) joined #forth 23:12:33 an understandable viewpoint 23:13:10 so... good? bad? ugly? 23:13:16 slava: you don't _need_ it as if it is absolutely necessary. 23:13:18 (I know the "nip nip" part is ugly 23:13:20 ) 23:13:43 DocPlatypus: i don't know, i don't think forth is the right language for this 23:15:13 now... the old version was so bad I'm probably not going to post it 23:16:29 but it did not use lookup tables. it actually checked for a straight by looking at each card in turn (after sorting) 23:16:48 and after 2, 3, 4, 5... had to look for aces specifically since aces sorted high 23:17:31 that was so ugly I just knew I had to find a better way 23:19:10 the code for pairs was specifically ugly... had a bunch of code like: 23:19:20 a rank? b rank? = if 1+ then 23:19:46 * DocPlatypus shudders 23:19:51 I'm glad I'm not using that anymore 23:24:12 --- join: qFox (i=C00K13S@132pc222.sshunet.nl) joined #forth 23:25:27 hiya qFox 23:25:51 hi qFox 23:29:10 I honestly think that what I have now is an improvement over what I started with, however small 23:40:54 well at least I found the stack litter: it's somewhere in binaryranksearch 23:41:57 that's why factor has static stack checking, i don't have time for such nonsense 23:42:47 fixed, forgot a 2drop after I did a 2dup and didn't need the values anymore 23:43:35 sigh... that was rather embarrassing 23:43:52 --- part: aspect left #forth 23:52:54 --- quit: DocPlatypus ("Leaving") 23:59:59 --- log: ended forth/08.09.29