←2006-10-16 2006-10-17 2006-10-18→ ↑2006 ↑all
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 <oerjan> just one last test
02:17:04 <oerjan> ok, i found two bugs.
02:17:18 <oerjan> 1. there is no set mod 0 at the beginning
02:18:12 <oerjan> 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 <oerjan> oh, and in the tarball bfm.tcl there is one $:location that should be $::location or something.
02:20:06 <oerjan> with these changes i managed to get 10/10, 11/10, 0/10 and 1/10 to work.
02:24:07 <pikhq> Whoohoo!
02:24:19 * pikhq is in retard mod. XD
02:24:21 <pikhq> mode
02:24:52 <pikhq> 3rd bug is fixed in my local copy, BTW.
02:27:35 <oerjan> i suspected so as otherwise you would have problems running at all...
02:32:57 <pikhq> And now, itoa.bfm works.
02:33:14 <pikhq> Now to fix basm.bfm, so that *it* gets the job done right. . .
02:51:35 <pikhq> Which it does.
02:52:21 <pikhq> 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 <oerjan> i suspect that is usually a wise choice
03:04:56 <pikhq> 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 <pikhq> Yeah, it is.
03:07:00 <pikhq> Somewhere, it's removing a needed cell clear.
03:08:12 <oerjan> suggestion: make a debug mode for the optimiser, where it inserts information about what it has removed.
03:09:20 <pikhq> Agreed; that could be a *very* good idea.
03:09:20 <oerjan> hm, even more: make it insert runtime tests
03:09:24 <pikhq> I've fixed itoa, BTW.
03:10:00 <pikhq> Even better: make the optimization perfect.
03:10:18 <oerjan> instead of removing a [-], changing it into [complain and die]
03:10:48 <oerjan> not necessarily better, since it will probably be broken again.
03:17:59 <pikhq> As the ultimate test, I should probably compile LostKng.b with basm.b. . .
03:19:34 <oerjan> perhaps. for the time being, have you tried compiling basm.b with basm.b?
03:20:45 <pikhq> Good idea.
03:24:49 <pikhq> After some bug fixing, it works.
03:25:17 <pikhq> (outputting numbers in reverse order)
03:26:09 <pikhq> I could probably make this much shorter just by some judicious memory rearrangement. . .
03:28:24 <pikhq> Although, by necessity, it's always going to be a little bit long. . .
03:33:43 -!- Sgeo has quit ("Ex-Chat").
03:36:46 <pikhq> 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 <pikhq> At least it works right on itself. . . :p
03:50:10 <pikhq> Probably some minor little quirk with handling large amounts of pointer movement. . .
03:51:29 <oerjan> are you storing the length of >>>>>>>> runs in single cells?
03:51:47 <pikhq> Yeah.
03:52:40 <pikhq> Needn't worry for things like ++++ and ----; cells wrap in this implementation.
03:53:00 <pikhq> The >>>> and <<<< bit. . . Yeah, that could use some work.
03:53:48 <pikhq> I think LostKng.b is the only program I'll run into that issue with.
03:54:18 <oerjan> you might run into it with large BFM generated programs.
03:54:30 <oerjan> more than 256 variables.
03:57:15 <pikhq> Large, inefficiently written ones.
03:57:45 <pikhq> But then, most large ones are inefficient. . . :p
03:58:48 <pikhq> Just for the record, basm.bfm is probably the largest BFM generated program out there.
04:00:58 <oerjan> one would expect a "decent" bf compiler to optimize away simple inefficiencies such as long runs and cell moving/copying
04:01:06 <pikhq> Scratch that: basm.bfm is *undoubtedly* the largest BFM generated program.
04:01:28 <oerjan> how big is it?
04:01:44 <pikhq> 17764 characters compiled, according to wc.
04:02:37 <oerjan> but it probably does not have 256 variables, or it would be terrible to write.
04:02:46 <pikhq> 704 lines of code.
04:03:07 <pikhq> It's got more lines than bfm.tcl. XD
04:03:24 <pikhq> BTW, it has 174 variables. . .
04:03:58 <oerjan> sounds pretty terrible already
04:04:12 <pikhq> 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 <pikhq> 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 <pikhq> http://pikhq.nonlogic.org/basm.b
04:18:21 -!- pikhq has quit ("Lost terminal").
04:18:40 <Asztal> Software Title Qty Item Price/Unit Total
04:18:42 <Asztal> Visual Studio 2005 Professional Edition CD1 1 Download £0.00 GBP £0.00 GBP
04:18:43 <Asztal> Visual Studio 2005 Professional Edition CD2 1 Download £0.00 GBP £0.00 GBP
04:18:45 <Asztal> Windows XP Professional with SP2 (Single User) ISO Image 1 Download £0.00 GBP £0.00 GBP
04:18:46 <Asztal> Total for this order £0.00 GBP
04:18:47 -!- bsmntbombdood has quit (Read error: 110 (Connection timed out)).
04:18:49 <Asztal> Excellent.
04:26:03 -!- pikhq has joined.
04:28:15 <dbc> [<<+<,>>>[-]<<<[
04:28:31 <dbc> (looking at this)
04:29:21 <oerjan> seems a bit inefficient
04:30:02 <oerjan> [[-]<<+<,[ being equivalent
04:30:54 -!- GregorR-L has quit (Read error: 148 (No route to host)).
04:32:58 <Asztal> and I thought I was slightly insane
04:34:01 <oerjan> we all are insane here. what's the matter?
04:35:56 <Asztal> I'm sorry, it's just that from here it's like you speak fluent brainfuck
04:38:53 <oerjan> now _that_ is quite normal. to get my certificate of insanity, i had to write an unlambda interpreter in INTERCAL.
04:39:53 <Asztal> 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 <dbc> 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 <dbc> Actually, in context [-<<+<,[ is equivalent.
05:35:30 <dbc> 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 <GregorR-L> C2BF 8-D
05:37:10 <dbc> (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 <dbc> which wouldn't be impressive if basm.b weren't 70% brute force initialization to start with.
06:40:19 <dbc> )
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 <GregorR-L> Plof + operator overloading. Possible?
07:27:34 <GregorR-L> 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 <SimonRC> # 14 days 'til Halloween, Halloween, Halloween. 14 days 'til Halloween, Silver Shamrock. #
11:03:14 <SimonRC> # 14 days 'til Halloween, Halloween, Halloween. 14 days 'til Halloween, Silver Shamrock. #
11:03:22 <SimonRC> 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 <SimonRC> hi
13:16:07 <pikhq> Mmkay, *. . . That was my first attempt; I'm going to do it *efficiently* later. ;)
13:17:06 <pikhq> (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 <pikhq> Now, we begin to optimize. . .
17:25:23 <pikhq> b
17:30:53 <pikhq> Removed 32 characters. . .
17:32:46 <pikhq> Make that 50. . .
17:33:04 <SimonRC> what program?
17:33:55 <pikhq> basm.b
17:34:05 <pikhq> 58. . .
17:34:59 <SimonRC> ah, ok
17:38:19 <pikhq> 564. . .
17:38:28 <SimonRC> ??!
17:38:34 <pikhq> (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 <pikhq> I'm currently short of my previous version by 607.
19:03:55 <pikhq> 624.
19:13:29 <pikhq> It'll be much shorter if I decide to get the header done right.
19:16:21 <pikhq> 664. . .
19:31:25 <pikhq> http://pikhq.nonlogic.org/basm.opt.b Any suggestions (beyond fixing that huge string of plusses at the front)?
19:41:52 <jix> 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 <pikhq> jix: Brainfuck-> C compiler in Brainfuck (version 2).
23:00:23 <jix> ah
23:00:40 <pikhq> Slightly more efficient version. ;)
23:00:48 <jix> should be possible to do it in a lot less bytes
23:01:33 <pikhq> Yeah, yeah, yeah. . .
23:01:38 <pikhq> Haven't fixed up the header yet.
23:03:38 <jix> huh why calloc and not malloc?
23:04:11 -!- Robdgreat has quit.
23:04:42 <pikhq> jix: calloc also sets all of the allocated memory to 0.
23:06:48 <pikhq> (my usual method of Brainfuck coding, BTW: get it working, get it optimised)
23:18:17 <pikhq> And we now have it down 685 characters from my initial attempt. . . Without removing the obvious string of +s.
23:19:33 <pikhq> And the new build is up. . .
23:23:58 <pikhq> Any suggestions (aside from the obvious, "That's way too much '+'s!")?
23:29:06 <jix> is it done by hand
23:29:09 <jix> ?
23:29:19 <pikhq> No, it's not. . .
23:29:32 <pikhq> Largest BFM program in existence.
23:29:48 <pikhq> Larger than BFM itself, actually.
23:30:47 <pikhq> 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 <pikhq> Gregor!
23:59:09 <GregorR-L> Foobar!
23:59:23 <pikhq> http://pikhq.nonlogic.org/basm.opt.b See anything that I can optimize (aside from that large string of "+"s)?
23:59:40 <GregorR-L> <-- in class
23:59:47 <pikhq> Oh.
23:59:50 <RodgerTheGreat> hm. let's see here...
23:59:57 <pikhq> Which class?
←2006-10-16 2006-10-17 2006-10-18→ ↑2006 ↑all