00:17:47 -!- kipple_ has quit (Read error: 110 (Connection timed out)). 00:23:44 -!- GregorR-L has quit ("Leaving"). 00:46:22 -!- jix has quit ("Bitte waehlen Sie eine Beerdigungnachricht"). 00:52:51 -!- Asztal has joined. 01:12:16 -!- oerjan has joined. 02:14:02 -!- GregorR-L has joined. 02:15:55 * pikhq wonders how he can get divmod to work. . . 02:16:11 * oerjan thinks he just may have done exactly that 02:16:20 just one last test 02:17:04 ok, i found two bugs. 02:17:18 1. there is no set mod 0 at the beginning 02:18:12 2. there is no set temp2 0 to get out of the temp2 loop when temp1 happens to be 0. The latter happens with 10/10 which you mentioned in the logs. 02:19:16 oh, and in the tarball bfm.tcl there is one $:location that should be $::location or something. 02:20:06 with these changes i managed to get 10/10, 11/10, 0/10 and 1/10 to work. 02:24:07 Whoohoo! 02:24:19 * pikhq is in retard mod. XD 02:24:21 mode 02:24:52 3rd bug is fixed in my local copy, BTW. 02:27:35 i suspected so as otherwise you would have problems running at all... 02:32:57 And now, itoa.bfm works. 02:33:14 Now to fix basm.bfm, so that *it* gets the job done right. . . 02:51:35 Which it does. 02:52:21 Unfortunately, *somewhere*, the optimization routine is breaking things; need to find it. 02:56:55 * pikhq becomes somewhat glad that he made optimization optional ;) 03:03:47 -!- bsmntbom1dood has joined. 03:03:47 i suspect that is usually a wise choice 03:04:56 I'm starting to become convinced the issue is in itoa. . . 03:06:26 -!- bsmntbombdood has quit (Nick collision from services.). 03:06:39 -!- bsmntbom1dood has changed nick to bsmntbombdood. 03:06:49 Yeah, it is. 03:07:00 Somewhere, it's removing a needed cell clear. 03:08:12 suggestion: make a debug mode for the optimiser, where it inserts information about what it has removed. 03:09:20 Agreed; that could be a *very* good idea. 03:09:20 hm, even more: make it insert runtime tests 03:09:24 I've fixed itoa, BTW. 03:10:00 Even better: make the optimization perfect. 03:10:18 instead of removing a [-], changing it into [complain and die] 03:10:48 not necessarily better, since it will probably be broken again. 03:17:59 As the ultimate test, I should probably compile LostKng.b with basm.b. . . 03:19:34 perhaps. for the time being, have you tried compiling basm.b with basm.b? 03:20:45 Good idea. 03:24:49 After some bug fixing, it works. 03:25:17 (outputting numbers in reverse order) 03:26:09 I could probably make this much shorter just by some judicious memory rearrangement. . . 03:28:24 Although, by necessity, it's always going to be a little bit long. . . 03:33:43 -!- Sgeo has quit ("Ex-Chat"). 03:36:46 It's broken on LostKng.b 03:49:04 -!- RodgerTheCodin has changed nick to RodgerTheGrear. 03:49:11 -!- RodgerTheGrear has changed nick to RodgerTheGreat. 03:49:31 At least it works right on itself. . . :p 03:50:10 Probably some minor little quirk with handling large amounts of pointer movement. . . 03:51:29 are you storing the length of >>>>>>>> runs in single cells? 03:51:47 Yeah. 03:52:40 Needn't worry for things like ++++ and ----; cells wrap in this implementation. 03:53:00 The >>>> and <<<< bit. . . Yeah, that could use some work. 03:53:48 I think LostKng.b is the only program I'll run into that issue with. 03:54:18 you might run into it with large BFM generated programs. 03:54:30 more than 256 variables. 03:57:15 Large, inefficiently written ones. 03:57:45 But then, most large ones are inefficient. . . :p 03:58:48 Just for the record, basm.bfm is probably the largest BFM generated program out there. 04:00:58 one would expect a "decent" bf compiler to optimize away simple inefficiencies such as long runs and cell moving/copying 04:01:06 Scratch that: basm.bfm is *undoubtedly* the largest BFM generated program. 04:01:28 how big is it? 04:01:44 17764 characters compiled, according to wc. 04:02:37 but it probably does not have 256 variables, or it would be terrible to write. 04:02:46 704 lines of code. 04:03:07 It's got more lines than bfm.tcl. XD 04:03:24 BTW, it has 174 variables. . . 04:03:58 sounds pretty terrible already 04:04:12 Most of which are in hardcoded strings in strings.cur.bfm (p+=, p-=, the whole string of stuff to start the C program off. . .). 04:04:47 It'd get even more terrible if I started to set those strings in an optimized manner (strings.cur.bfm just does large strings of "++++".). 04:07:48 -!- bsmntbom1dood has joined. 04:12:48 -!- dbc has joined. 04:13:04 http://pikhq.nonlogic.org/basm.b 04:18:21 -!- pikhq has quit ("Lost terminal"). 04:18:40 Software Title Qty Item Price/Unit Total 04:18:42 Visual Studio 2005 Professional Edition CD1 1 Download £0.00 GBP £0.00 GBP 04:18:43 Visual Studio 2005 Professional Edition CD2 1 Download £0.00 GBP £0.00 GBP 04:18:45 Windows XP Professional with SP2 (Single User) ISO Image 1 Download £0.00 GBP £0.00 GBP 04:18:46 Total for this order £0.00 GBP 04:18:47 -!- bsmntbombdood has quit (Read error: 110 (Connection timed out)). 04:18:49 Excellent. 04:26:03 -!- pikhq has joined. 04:28:15 [<<+<,>>>[-]<<<[ 04:28:31 (looking at this) 04:29:21 seems a bit inefficient 04:30:02 [[-]<<+<,[ being equivalent 04:30:54 -!- GregorR-L has quit (Read error: 148 (No route to host)). 04:32:58 and I thought I was slightly insane 04:34:01 we all are insane here. what's the matter? 04:35:56 I'm sorry, it's just that from here it's like you speak fluent brainfuck 04:38:53 now _that_ is quite normal. to get my certificate of insanity, i had to write an unlambda interpreter in INTERCAL. 04:39:53 I think the most complicated I ever got was quicksort. >:( 04:58:17 -!- GregorR-L has joined. 05:09:56 -!- Eidolos has quit (Connection reset by peer). 05:10:10 I don't 100% get the reason for using dynamic memory allocation in the C code either. 05:10:43 -!- Eidolos has joined. 05:24:56 -!- lindi- has quit (Read error: 104 (Connection reset by peer)). 05:27:59 -!- lindi- has joined. 05:34:24 Actually, in context [-<<+<,[ is equivalent. 05:35:30 It shouldn't be hard to make a brainfuck optimizer. It would really only benefit macro-generated code, which is why I haven't done it yet. 05:36:52 C2BF 8-D 05:37:10 (One thing I have done is a profiler to spot outright dead code. Macro-generated code often has big swaths of it. Cleaning the dead code out of basm.b, and then removing consequent []s and <>s and so on, reduces its size by 15%... 05:37:48 which wouldn't be impressive if basm.b weren't 70% brute force initialization to start with. 06:40:19 ) 07:17:20 -!- Asztal has quit ("Lister, does this look even *remotely* like a 14B?"). 07:19:54 -!- calamari has quit ("Leaving"). 07:27:33 Plof + operator overloading. Possible? 07:27:34 Hmmmmmmmm 07:47:59 -!- oerjan has quit ("Later"). 07:54:55 -!- anonfunc has joined. 07:58:38 -!- GregorR-L has quit ("Leaving"). 07:59:59 -!- clog has quit (ended). 08:00:00 -!- clog has joined. 08:07:25 -!- anonfunc has quit. 08:08:00 -!- anonfunc has joined. 10:25:07 -!- Arrogant has joined. 10:26:30 -!- Arrogant has quit (Client Quit). 10:43:55 -!- pgimeno has quit ("You're lucky as you can read this message but I can't"). 10:47:43 -!- pgimeno has joined. 11:03:08 # 14 days 'til Halloween, Halloween, Halloween. 14 days 'til Halloween, Silver Shamrock. # 11:03:14 # 14 days 'til Halloween, Halloween, Halloween. 14 days 'til Halloween, Silver Shamrock. # 11:03:22 http://en.wikipedia.org/wiki/Halloween_III:_Season_of_the_Witch 11:03:30 * SimonRC goes to a lecture not intended for him 11:23:22 -!- jix has joined. 12:26:01 hi 13:16:07 Mmkay, *. . . That was my first attempt; I'm going to do it *efficiently* later. ;) 13:17:06 (that's about how my first attempt would look, even if doing hand coding. . .) 15:33:29 -!- anonfunc has quit. 16:55:57 -!- sekhmet has quit ("leaving"). 16:58:24 -!- sekhmet has joined. 17:24:50 Now, we begin to optimize. . . 17:25:23 b 17:30:53 Removed 32 characters. . . 17:32:46 Make that 50. . . 17:33:04 what program? 17:33:55 basm.b 17:34:05 58. . . 17:34:59 ah, ok 17:38:19 564. . . 17:38:28 ??! 17:38:34 (just by some judicious memory rearrangement) 17:45:10 -!- calamari has joined. 17:48:37 * SimonRC teleports. 18:41:55 -!- tgwizard has joined. 18:54:54 I'm currently short of my previous version by 607. 19:03:55 624. 19:13:29 It'll be much shorter if I decide to get the header done right. 19:16:21 664. . . 19:31:25 http://pikhq.nonlogic.org/basm.opt.b Any suggestions (beyond fixing that huge string of plusses at the front)? 19:41:52 what's that? 20:53:03 -!- bsmntbom1dood has changed nick to bsmntbombdood. 21:05:38 -!- Asztal has joined. 21:05:47 -!- paparent has quit (Remote closed the connection). 21:06:23 -!- paparent has joined. 21:07:20 -!- pgimeno has quit ("You're lucky as you can read this message but I can't"). 21:14:51 -!- tgwizard has quit ("Leaving"). 21:23:20 -!- Robdgreat has joined. 21:46:21 -!- pgimeno has joined. 21:57:19 -!- kipple_ has joined. 22:02:15 -!- pgimeno has quit (Read error: 131 (Connection reset by peer)). 22:03:20 -!- pgimeno has joined. 22:19:28 -!- Eidolos has quit (Connection reset by peer). 22:20:06 -!- Sgeo has joined. 23:00:17 jix: Brainfuck-> C compiler in Brainfuck (version 2). 23:00:23 ah 23:00:40 Slightly more efficient version. ;) 23:00:48 should be possible to do it in a lot less bytes 23:01:33 Yeah, yeah, yeah. . . 23:01:38 Haven't fixed up the header yet. 23:03:38 huh why calloc and not malloc? 23:04:11 -!- Robdgreat has quit. 23:04:42 jix: calloc also sets all of the allocated memory to 0. 23:06:48 (my usual method of Brainfuck coding, BTW: get it working, get it optimised) 23:18:17 And we now have it down 685 characters from my initial attempt. . . Without removing the obvious string of +s. 23:19:33 And the new build is up. . . 23:23:58 Any suggestions (aside from the obvious, "That's way too much '+'s!")? 23:29:06 is it done by hand 23:29:09 ? 23:29:19 No, it's not. . . 23:29:32 Largest BFM program in existence. 23:29:48 Larger than BFM itself, actually. 23:30:47 And I'm not even done with it; that huge string of plusses is set for rewrite as soon as I can bother. 23:56:54 -!- GregorR-L has joined. 23:58:50 Gregor! 23:59:09 Foobar! 23:59:23 http://pikhq.nonlogic.org/basm.opt.b See anything that I can optimize (aside from that large string of "+"s)? 23:59:40 <-- in class 23:59:47 Oh. 23:59:50 hm. let's see here... 23:59:57 Which class?