←2005-07-24 2005-07-25 2005-07-26β†’ ↑2005 ↑all
00:24:34 -!- BigZaphod has quit.
00:57:08 -!- jix has quit ("Bitte waehlen Sie eine Beerdigungnachricht").
01:37:27 -!- calamari has joined.
01:38:58 <pgimeno> graue: could you please test if this patch for bff causes it to work? http://www.formauri.es/personal/pgimeno/temp/bff.patch
01:39:42 <pgimeno> at least the patch makes valgrind stop complaining
01:41:39 <graue> will do
01:42:12 <pgimeno> thanks
01:42:51 <pgimeno> I'm off to bed now, bye
01:43:04 <graue> bye
01:44:53 <calamari> hi
01:44:59 <calamari> cya pgimeno ;)
02:40:43 -!- BigZaphod has joined.
02:41:40 -!- BigZaphod has quit (Client Quit).
02:43:57 -!- BigZaphod has joined.
02:45:16 <graue> hi BigZaphod
02:45:22 <BigZaphod> hey
02:45:30 <graue> you tried writing anything in Archway2?
02:45:33 <graue> it's fun
02:45:41 <BigZaphod> :) Nope, haven't looked into it.
02:45:54 <graue> http://www.esolangs.org/wiki/Archway2
02:46:16 <graue> except without the 2
02:47:21 <BigZaphod> interesting.
02:48:38 <graue> Archway2 kind of reminds me of surfing, the cool water splashing all over my programs (in the form of / and \)
02:49:28 <graue> it would be nice to go rent a beach house for a week and code Archway2 while glancing occasionally out the window, and listening to the relaxing sounds of the ocean
02:49:32 <BigZaphod> it reminded me of a fractal
02:49:40 <graue> you're more abstract than me
02:49:44 <BigZaphod> that'd be an ice excuse.. :-)
02:49:46 <BigZaphod> er.. nice
02:49:55 <BigZaphod> (ice, too, if its winter, I suppose)
02:50:13 <graue> it would be summer
02:50:43 <BigZaphod> what part of the world are you in? (how far is the ocean for you?)
02:50:58 <BigZaphod> I've only seen ocean from far above in a plane.
02:51:08 <graue> I'm in the eastern United States
02:51:25 <BigZaphod> I'm in the Iowa. We don't get much ocean here.. :-)
02:51:33 <graue> the ocean would be three or four hours away by car, at least
02:52:01 <BigZaphod> that's not so bad. at least a couple days for me.
03:23:06 <graue> pgimeno: the patch didn't fix it
03:30:13 -!- calamari has quit ("Leaving").
03:42:40 <heatsink> BigZaphod: Only two days if you get a copilot and take turns sleeping.
03:43:12 <graue> you mean two hours, right?
03:45:59 <heatsink> maybe if you have an aircraft.
03:46:31 <BigZaphod> that'd be a really fast aircraft.. I think by jet it's still about an hour just to Chicago from here.
03:47:13 <BigZaphod> unless its supersonic.
03:52:16 <graue> two days would be a really slow aircraft, though
03:52:27 <graue> I assumed the unit was wrong
05:40:55 <GregorR> Oregon here.
05:40:59 <GregorR> Only about an hour from the beach.
05:41:12 <GregorR> But the Oregon ocean is cold and unappealing.
05:41:30 <GregorR> (That is, the Pacific ocean by Oregon)
05:42:46 -!- heatsink has quit ("Leaving").
05:43:47 <graue> GregorR, how goes?
06:04:46 <GregorR> It's still goin'.
06:32:45 <graue> I find that answer largely unappealing
06:50:56 -!- BigZaphod has quit (Read error: 110 (Connection timed out)).
07:24:00 -!- graue has quit ("Donate a manual typewriter to ME for your only hope for a future!").
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:21:57 -!- ZeroOne_ has quit (Remote closed the connection).
09:52:00 -!- grimace_ has joined.
10:02:55 -!- sp3tt has joined.
12:33:54 -!- kipple__ has joined.
13:50:40 -!- jix has joined.
14:16:10 -!- puzzlet has quit (Client Quit).
14:16:12 -!- puzzlet has joined.
14:50:49 -!- fungebob has joined.
15:59:43 -!- kipple___ has joined.
15:59:43 -!- kipple__ has quit (Read error: 104 (Connection reset by peer)).
16:06:48 <pgimeno> jix: there?
16:26:16 -!- yrz\werk has joined.
16:37:20 -!- yrz\werk_ has quit (Connection timed out).
16:43:16 <jix> pgimeno: yes
17:01:31 -!- sp3tt has quit (Client Quit).
17:24:02 -!- calamari has joined.
17:24:03 <calamari> hi
17:24:20 <jix> moin calamari
17:24:28 <calamari> hi jix
17:24:36 <calamari> how's your new adventure game going?
17:24:49 <jix> lowest priority
17:24:59 <jix> i'm working on my brainfuck-compiler
17:25:37 <jix> the next thing i want to do is my website
17:25:37 <calamari> -> bf or bf -> ?
17:25:44 <pgimeno> hi calamari
17:25:46 <jix> bf ->
17:25:46 <pgimeno> jix: can you try bff on mac?
17:25:49 <calamari> hi pgimeno
17:26:03 <calamari> jix: to what language.. c?
17:26:04 <jix> pgimeno: i did, it doesn't work
17:26:24 <jix> calamari: first ruby (for testing) later c or maybe asm
17:26:29 <calamari> jix: nifty
17:26:47 <calamari> you should still enter your other adventure game.. maybe spiff it up a bit :)
17:27:17 <calamari> made a bit of progress on mine last night, so it's on my mind hehe
17:27:28 <jix> when is the deadline?
17:27:33 <calamari> sept 1
17:28:06 <calamari> it
17:28:30 <calamari> it'll be hard for me to finish in time, since I'm not working on it very often
17:29:31 <pgimeno> jix: did you try with my patch?
17:30:30 <jix> pgimeno: patch?
17:31:08 <pgimeno> http://www.formauri.es/personal/pgimeno/temp/bff.patch - would you mind to try applying it and see if it works?
17:32:04 -!- sp3tt has joined.
17:33:24 <jix> pgimeno: works!
17:33:33 <pgimeno> nice!
17:34:53 <jix> i had some problems with modulo math yesterday... i solved it... brute-forcing and storing the table in the output-program
17:35:10 <jix> that's faster anyway
17:35:26 <jix> only 64kb in the worst case
17:38:56 <pgimeno> when will we see a release?
17:39:14 <jix> today or tomorrow
17:39:32 <jix> i have to complete stage2 of optimisation and write stage3
17:41:53 <pgimeno> cool
17:45:42 <jix> the code is chaotic...
17:45:48 <jix> it's ruby code but it's chaotic
17:46:05 <jix> i just started coding without writing down all optimizations first
17:50:47 -!- graue has joined.
17:51:20 <jix> my intermediate language has an "if cell is divisible by 2^n zero cell else infinity loop" instruction...
17:52:05 <jix> it's mnemonic is if_divtxilzeif
17:53:34 <jix> ok it's not zero but set_to now.. that's important for stage3 optimizations
17:55:07 <jix> 5,4kb code
18:07:18 -!- fungebob has quit (Read error: 110 (Connection timed out)).
18:07:57 <calamari> jix: what about code that changes the loop variable.. such as ++++[--->+<-].. very contrived, but it could happen in a nested [ ]
18:10:28 -!- grimace_ has left (?).
18:10:53 <jix> ++++[--->+<-] => [0]+4,mov_mul([0],-4,[1]+1)
18:11:42 <jix> add 4 to cell 0, do a mov_mul instruction with field 0 as counter -4 as increment and [1]+1 as action
18:12:07 <jix> the mov_mul instruction is a bit complex but fast even with ++[--->+<]
18:12:29 -!- graue has quit (Read error: 104 (Connection reset by peer)).
18:12:32 <jix> that's where i use the upto 64kb lookuptable
18:15:46 <jix> hmm it's only 32kb...
18:41:59 <calamari> jix: sorry, that's what I meant by contrived.. let's see if I can show more clearly what I meant: ++++[>+>+[<<+++++>>-]<------]
18:42:22 <calamari> that's off the top of my head.. sorry for any errors :)
18:42:51 <calamari> that should translate to +++++[>+<-] if I did it right
18:43:29 <pgimeno> maybe there's a missing < ?
18:43:42 <pgimeno> like: <<------]
18:43:53 <calamari> yeah, after ] it should be <<
18:44:20 <calamari> anyhow.. does your alg pick up that it is -1 not -6 ?
18:44:52 <calamari> or does it handle nested loops like that? :)
18:45:08 <pgimeno> oh well, who writes obfuscated BF anyway? :)
18:45:19 <calamari> pgimeno: that's not
18:45:25 <calamari> it's just a simple example
18:45:36 <pgimeno> j/k
18:45:51 <calamari> I could come up with a more complicated real-life example, but the idea would be obscured
18:46:44 <pgimeno> someone should invent BF++
18:46:54 <calamari> hehe
18:47:27 <calamari> or P.. take P'' and integrate a couple times ;)
18:48:00 <pgimeno> heh, nice idea :)
18:48:38 <pgimeno> I was wondering... does the world need a 1-symbol language?
18:50:01 <calamari> well, it depends.. lets say you figured out a way to mutate bf into one symbol, but when the program ran it figured out the original 8 bf instructions and ran it that way.. then I'd say no
18:50:23 <calamari> but if it is just one symbol and a tarpit, that'd be cool.. is it possible?
18:50:55 <pgimeno> NULL is sort of that already, you just have to express a NULL program in unary
18:51:05 <calamari> note that one symbol is the same as using file size for the program :)
18:51:14 <pgimeno> yup
18:51:22 <pgimeno> (except for comments)
18:51:39 <fizzie> But you have a _really_ efficient source code compression algorithm: use a binary number that tells how many of the symbol there are. :p
18:52:54 <pgimeno> it would kind of lose some of the magic though...
18:53:30 <calamari> somehow I think 2 symbols would be the minimum without cheating
18:54:09 <pgimeno> actually it's pretty hard to define cheating
18:54:18 <calamari> yeah it is
18:54:54 <pgimeno> I was thinking... a hello world program would need like... many gigs
18:55:08 <calamari> I'd consider cheating having it interpret more instructions than there are symbols.. just my bias tho :)
18:55:55 <calamari> that one instruction can be wonderfully complex, though.. hehe
18:56:28 <pgimeno> my decision is that the world is already good enough without a 1-symbol language
18:57:06 <calamari> are there non-cheating 2 symbol languages? seems like there was a lamda calc.. iota or jot or something?
18:57:16 <calamari> lambda
18:57:28 <calamari> or do they require 3?
18:57:39 <pgimeno> no, both iota and jot are 2-symbol
18:57:43 <calamari> nifty
18:57:54 <calamari> how many instructions.. just 2, right ?
18:57:59 <pgimeno> jot programs are any string of 0's and 1's
18:58:06 <pgimeno> including the empty string
18:58:30 <pgimeno> in iota the instructions are * and i, but not all programs are syntactically valid
18:59:18 <calamari> lets say I did 01.. does it internally translate that into a different intstruction?
18:59:37 -!- fungebob has joined.
18:59:41 <calamari> or 00 or 10 or whatever
18:59:51 <calamari> if not, then I'd say it is the tarpit winner :)
18:59:57 <pgimeno> I don't know enough lambda calculus as to answer
19:00:03 <calamari> yeah, neither do I
19:00:17 <pgimeno> what do you call a different instruction?
19:00:37 <calamari> lets take a different example
19:00:41 <pgimeno> i think it doesn't cheat, in the sense you mean
19:00:44 <calamari> I can go along 00101000111
19:01:07 <calamari> now I take 00 = 0, 01 = 1, 10 = 2, 11 = 3.. now I have 4 instructions, not 2
19:01:15 <fizzie> From what I remember of iota/jot, I don't think neither of them cheat in that way.
19:01:21 <calamari> cool!
19:01:24 <pgimeno> nope, there are 2 instructions
19:02:00 <calamari> bbl..meeting time
19:02:06 -!- calamari has quit ("Leaving").
19:02:16 <pgimeno> "Sorry! The wiki is experiencing some technical difficulties, and cannot contact the database server.
19:02:16 <pgimeno> Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)"
19:02:32 <pgimeno> is it just me?
19:11:55 -!- yrz\werk_ has joined.
19:14:41 <jix> i'm not doing much nested loop optimizations
19:15:01 <jix> but i can add some in stage 3
19:22:36 <GregorR> The new optimizations are in on egobf, but I must admit that it doesn't look good.
19:22:42 <GregorR> ...for the rest of you! BWAHA!
19:23:33 <jix> GregorR: time for mandelbrot.b?
19:24:31 <lindi-> GregorR: or actually, time compared to BF2C+gcc -O2?
19:24:45 <GregorR> OK, OK, we all know that comparing it to a compiler is unfair.
19:25:01 <lindi-> unfair? ;)
19:25:06 <lindi-> why?
19:25:16 <GregorR> Because compilers will implicitly be faster.
19:25:23 <lindi-> GregorR: why?
19:25:32 <GregorR> Well, I guess I do need to time both steps *shrugs*
19:25:37 <lindi-> we just proved yesterday that it can be slower
19:25:48 <GregorR> Anyway, I'm actually at work right now, I just logged in to brag about the morning commute's work :P
19:25:49 <lindi-> if you count the compilation time
19:25:56 <lindi-> heh
19:26:14 <jix> lindi-: we proved that even with -O0 it's faster didn't we?
19:26:50 -!- yrz\werk has quit (Read error: 110 (Connection timed out)).
19:27:30 -!- cyph1e has joined.
19:28:29 <lindi-> jix: okok, but if we had changed the program a bit it would have ran faster and thus compilation time would have been more signigficant
19:29:30 <jix> but if the converter would output (*p)+=10 instead of 10 times (*p)++ gcc would be a lot faster
19:29:57 <lindi-> jix: possibly
19:30:06 <lindi-> i'm not 100% sure
19:30:28 <jix> with -O0 it would be as good as with -O1 and 10x (*p)++
19:30:35 <jix> and -O0 is very fast
19:30:55 <jix> it's alot easier to optimize brainfuck code than optimizing c code
19:31:12 <lindi-> hmm
19:31:57 <lindi-> jix: gcc converts to GIMPLE first anyway and then optimizes the GIMPLE representation
19:32:19 <jix> lindi-: it's still easier to optimize bf than optimize GIMPLE
19:32:27 <lindi-> perhaps
19:33:18 <jix> in brainfuck it's easy to detect multiplication which is implemented using addition... in c/GIMPLE it's not that easy
19:33:52 <lindi-> hmm
19:42:41 <lindi-> jix: now that you mention this it seems that gcc doesn't know how to optimize int mul(int a, int b) { int c; c = a; while(b--) c += a; return c; } to c=a*b
19:43:01 -!- Keymaker has joined.
19:43:23 <Keymaker> hello world
19:43:42 <Keymaker> i was in cottage for three days
19:44:04 <Keymaker> made up two new quine-technique-ideas for brainfuck
19:44:18 <Keymaker> the other was ~1300 bytes and the other 1028 iirc
19:44:36 <Keymaker> too bad couldn't make 'em shorter.. i'll try sometime again
19:50:08 <jix> i'm near done with stage2
19:50:37 <jix> and it's still not broken (but the A2Ruby class generates slow ruby code A2C has to be faster)
19:51:28 <Keymaker> hmm, there has been probably something nice happening..? could anyone sum up. i'm too lazy to read the logs
19:54:25 <jix> i'm writing a optimizing brainfuck compiler
19:54:35 <Keymaker> sounds cool
19:55:11 <jix> but it outputs ruby code atm
19:55:17 <Keymaker> 'ok
19:55:18 <jix> and function calls in ruby are slow
19:55:24 <jix> so the output is slow too
19:55:31 <Keymaker> ok
19:55:55 <jix> i'm going to add c and x86 asm output
20:05:10 <jix> done with stage2
20:05:24 <jix> 1. C output
20:05:29 <jix> 2: stage 3 optimizations
20:08:21 -!- kipple__ has joined.
20:08:22 -!- kipple___ has quit (Read error: 104 (Connection reset by peer)).
20:13:33 <pgimeno> hi Keymaker
20:14:19 <pgimeno> we've been doing benchmarks of BF interpreters/compilers
20:15:03 <Keymaker> ok
20:15:12 <Keymaker> (and hi)
20:15:15 -!- yrz\werk1 has joined.
20:15:29 <pgimeno> jix: would this work properly in your interpreter?: [->] (decrement and skip to next until zero found)
20:16:11 <jix> pgimeno: in my interpreter?
20:16:18 <pgimeno> er compiler, sorry
20:16:29 <jix> everything would work properly
20:16:55 <pgimeno> ah ok
20:17:00 <jix> mandelbrot.b uses moving loops.. and it works
20:17:06 <jix> but nonmoving loops are faser
20:17:09 <jix> faster
20:17:15 <Keymaker> does the compiler create an interpreter?
20:18:00 <jix> it creates c code
20:18:14 -!- cmeme has quit ("Client terminated by server").
20:18:16 <Keymaker> ok..
20:18:35 <jix> which does the same thing as the bf code
20:18:42 <Keymaker> ah
20:18:44 <jix> the c code doesn't interpret the bf code
20:18:49 <Keymaker> yes
20:18:58 <jix> it's like bf2c but with optimizations
20:19:02 <Keymaker> i see now
20:20:22 -!- yrz\werk1 has quit (Client Quit).
20:22:10 <jix> oh and infinity loops use < 1% cpu!
20:22:25 -!- yrz\werk1 has joined.
20:23:02 -!- yrz\werk_ has quit (Client Quit).
20:37:08 <jix> i'm at 12kb code
20:46:47 <jix> m[0]+=3; v = m[0]; if(v){m[1]-=v*3; m[0]=0;}; m[1]+=1; putchar(m[1]);
20:48:01 <jix> [--] => if(m[0]&1) while(1){sleep(-1);};else m[0]=0;
20:49:28 <jix> oops... a little bug
20:49:52 <jix> wrong sign for :p_mov_mul and :n_mov_mul
20:50:28 <cyph1e> who are you talking to? can we see the code somewhere?
20:50:40 <jix> cyph1e: the code isn't complete
20:50:53 <jix> the c generator is missing the REALLOC macro and the init/cleanup code
20:56:28 <cyph1e> allright.. may I ask you what optimization your compiler (or translator) does? I've never written a compiler, just an interpreter
20:56:28 <jix> it optimizes all loops without input/output and balanced < and > 's to multiplications (there are a few exceptions but they are rare)
20:56:28 <jix> and it optimizes some other special things
20:56:28 <GregorR> I'm vaguely considering putting a backend on egobf that compiles to memory then runs it, that ought to be blazin' fast. But also difficult to write.
20:56:28 -!- BigZaphod has joined.
20:56:28 <GregorR> I'd like to see your code that optimizes all loops with balanced >><<.
20:56:28 <GregorR> I couldn't do it in a way that was more efficient than running them :P
20:56:28 <jix> GregorR: but you could call it jiting interpreter...
20:56:28 <GregorR> jix: Not quite, it's not just in time, it compiles before it runs.
20:56:28 -!- sp3tt_ has joined.
20:56:28 <GregorR> I decided that loops made it too difficult to just compile ahead, and just compiling everything outside of loops wouldn't be THAT great of an improvement.
20:56:28 -!- calamari has joined.
20:56:28 <calamari> hello
20:56:28 <jix> GregorR: a jit-compiler compiles a routine before it gets executed.. bf code has no subroutines so you may call it jit-compiling ;)
20:56:28 <jix> moin calamari
20:56:28 <calamari> re jix
20:56:28 <GregorR> Heheh, I guess I can agree with that :)
20:56:28 <GregorR> Hoi squiddy.
20:56:28 <GregorR> (Wait, is calamari squid? Or octopus? I can't remember...)
20:56:28 <jix> calamari: i don't think my compiler optimizes the code you gave me well
20:56:28 <calamari> squid, you got it :)
20:56:36 <calamari> jix: that's okay, as long as it doesn't produce incorrect results
20:57:25 <calamari> how is your curse word language going?
20:57:43 <calamari> fsc or something like that, heh
21:00:40 <jix> curse word language?
21:01:35 <jix> calamari: output for your example: m[0]+=4; var_b=m+0; while(*var_b){m[1]+=1; m[2]+=1; v = m[2]; if(v){f = lut_126[v]; m[0]+=f*5; m[2]=0;}; m[0]+=250;}
21:02:16 <jix> ah just noted that there is still space for optimizations
21:02:40 <jix> var_b=m+0 ... i could use m instead of var_b beacuse m doesn't change if i use that code snippet
21:03:44 <jix> hmm no i shouldn't use the extra_vars at all.. gcc does better optimizations for that anyway
21:05:08 <calamari> pretty cool :)
21:05:32 <jix> lut_* are random looking look-up-tables
21:06:01 <jix> i use them for [odd number of + or ->something<]
21:06:28 <jix> i was only able to generate them using the help of a computer algebra system
21:06:33 <calamari> hehe
21:06:52 <jix> i generated the init numbers for the look-up-tables
21:07:10 <jix> they are: [255, 85, 51, 73, 199, 93, 59, 17, 15, 229, 195, 89, 215, 237, 203, 33, 31, 117, 83, 105, 231, 125, 91, 49, 47, 5, 227, 121, 247, 13, 235, 65, 63, 149, 115, 137, 7, 157, 123, 81, 79, 37, 3, 153, 23, 45, 11, 97, 95, 181, 147, 169, 39, 189, 155, 113, 111, 69, 35, 185, 55, 77, 43, 129, 127, 213, 179, 201, 71, 221, 187, 145, 143, 101, 67, 217, 87, 109, 75, 161, 159, 245, 211, 233, 103, 253, 219, 177, 175, 133, 99, 249, 119, 141, 107, 193, 191,
21:07:10 <jix> 21, 243, 9, 135, 29, 251, 209, 207, 165, 131, 25, 151, 173, 139, 225, 223, 53, 19, 41, 167, 61, 27, 241, 239, 197, 163, 57, 183, 205, 171, 1]
21:07:30 <calamari> init numbers?
21:07:34 <jix> yes
21:07:42 <calamari> what is an init number?
21:07:49 <jix> initial..
21:07:57 <calamari> what is an inital number ?
21:08:03 <jix> a number to start with
21:08:30 <jix> (init*n) mod 256 where init is the init number of the table and n is the item number of the table
21:09:09 <calamari> oh, the starting value of the loop variable?
21:09:16 <jix> no
21:09:19 <jix> the name was stupid
21:09:39 <calamari> I don't get it, but that's okay :)
21:09:51 <jix> it's the result of re-editting source code the 10th time
21:09:53 <jix> ^^
21:10:04 <calamari> I wonder how much loop unrolling can be done
21:10:24 <jix> i do no loop unrolling
21:10:38 <jix> i only do loop elimination
21:11:28 -!- cyph1e has quit (Read error: 110 (Connection timed out)).
21:12:04 -!- sp3tt has quit (Client Quit).
21:39:20 <calamari> bbl
21:39:23 -!- calamari has quit ("Leaving").
21:44:37 <jix> mandelbrot: 0.65 secs bf=>c, 13.6 secs gcc with -O2, 7.8secs mandelbrot
21:45:26 <jix> on my 1ghz ppc g4 with finder,terminal,safari,adium,quicktimeplayer,xchat-aqua,quicksilver and subethaedit running
21:53:10 <jix> only some output fine tuning left until beta-release
21:53:18 <jix> stage3 is empty atm
21:56:45 <fizzie> Yay, my gcc is now "powerpc-apple-darwin8-gcc-4.0.0 (GCC) 4.0.0 20041026 (Apple Computer, Inc. build 4061)". (Installed Tiger and xcode2.)
22:00:22 <jix> gcc version 4.0.0 20041026 (Apple Computer, Inc. build 4061)
22:00:33 <jix> but xcode2.1 is out afaik,
22:00:42 <jix> i hate to download xcode
22:01:18 <lindi-> gcc (GCC) 4.1.0 20050720 (experimental)
22:02:00 <jix> maybe xcode2.1 has gcc 4.1.0
22:02:37 <fizzie> I used to have xcode1.5, caused some trouble with fink, but didn't bother to upgrade to 1.9 before installing Tiger.
22:03:07 <fizzie> What's new in 4.1? Better loop-autovectorization and/or instruction-scheduling?
22:03:17 <jix> dunno
22:03:25 <jix> 1h46m remaining...
22:03:32 <jix> 752mb dmg
22:04:13 <fizzie> I see three neighbouring WEP-enabled wlans: "overland", "aurinko" and "animalfarm".
22:05:22 <jix> mandelbrot.b 11669 byte mandelbrot.c 23835 byte mandelbrot 45676 byte output 6240 byte ^^
22:08:31 <lindi-> fizzie: haven't really been following anything except the libjava/ directory, but yes, some autovetorization stuff has afaik also improved. also, 4.1 is not out yet so they have time to improve it before official release
22:14:33 <jix> http://www.harderweb.de/jix/langs/brainfuck/bf2a.rb
22:14:56 <jix> didn't compared it against bf2c
22:18:50 <jix> ah made a mistake
22:18:54 -!- sp3tt_ has quit (Client Quit).
22:18:56 <jix> there is still some debugging code
22:19:03 <jix> that will flood your terminal
22:19:40 <jix> fixed
22:20:47 <jix> nother error
22:21:49 <jix> fixed
22:22:13 <jix> argh
22:22:15 <jix> not fixed
22:25:22 <jix> fixed!
22:27:49 <jix> everyone: please test it
22:31:50 <jix> ...
22:31:57 <jix> pgimeno: ping
22:40:06 <jix> no one is here :'(
22:42:33 <Keymaker> i'm here but can't test it
22:42:41 <Keymaker> i don't have any ruby software
22:42:42 <jix> Keymaker: why?
22:42:48 <Keymaker> and i'm not on my home computer
22:43:04 <jix> windows?
22:43:07 <Keymaker> yes
22:43:23 <jix> maybe i can create a stand-alone exe
22:43:31 <jix> do you have gcc?
22:43:47 <Keymaker> no
22:43:59 <jix> ok.. than you really can't test it
22:44:09 <Keymaker> yeah
22:44:28 <Keymaker> but.. i have mingw
22:45:41 <jix> the mingw package comes with gcc(?)
22:46:04 <jix> it does
22:46:06 <Keymaker> dunno
22:46:21 <Keymaker> but it probably doesn't matter what c compiler it uses..?
22:46:27 <jix> Keymaker: yes
22:46:30 <Keymaker> oh
22:46:39 <jix> yes it doesn't metter
22:46:56 <jix> but i only tried gcc
22:47:16 <Keymaker> ah. ok
22:47:17 <jix> but i don't know where to get a windows ruby binary
22:47:25 <Keymaker> well, me neither
22:47:28 <jix> all binary versions i know use an installer
22:47:34 <Keymaker> and i wouldn't like to install any ruby stuff here
22:47:51 <jix> why not? ruby is a great langauge? *g*
22:48:04 <Keymaker> well, it would have no use here :)
22:48:20 <jix> why?
22:48:37 <Keymaker> because nobody would program in it
22:48:51 <jix> yes but maybe someone wants to run ruby programs?
22:48:55 <Keymaker> no
22:49:06 <Keymaker> trust me
22:49:10 <jix> you want to run bf2a right?
22:49:23 <Keymaker> well, yes, but without installing any new software
22:49:30 <jix> okokok...
22:49:37 <Keymaker> you could always send me
22:49:41 <Keymaker> the c code
22:49:47 <Keymaker> that the compiler has generated
22:49:54 <Keymaker> out of that fractal brainfuck program
22:49:56 <Keymaker> for example
22:51:19 <jix> www.harderweb.de/jix/langs/brainfuck/mandelbrot.c.zip
22:52:24 <Keymaker> i'll try
22:52:38 <jix> i tried to compiler Lost Kingdom.. Out of stack space.
22:53:49 <Keymaker> works great
22:54:14 <Keymaker> (although 80x25 window probably isn't meant for that program)
22:54:32 <jix> 80x25 is too small
22:54:50 <Keymaker> yeah
22:54:54 <Keymaker> good work jix
22:55:46 <Keymaker> definitely beats the **** out of those compilers that don't optimize at all
22:57:19 <Keymaker> btw, if i do an array in c like this way a[]={3,2,1}
22:57:30 <Keymaker> is there a way to get the size of the array?
22:58:07 <jix> sizeof(a)
22:58:18 <jix> afaik
22:58:37 <jix> but i'm not sure
22:58:38 <Keymaker> ok
23:03:23 <lindi-> jix: bfa2.rb mandelbrot.b mandelbrot.c ; gcc mandelbrot.c -o mandelbrot -O2 ; ./mandelbrot segfaults
23:03:43 <jix> aaargggh
23:04:05 <jix> but it works here
23:04:19 <jix> and keymaker was able to compiler and run mandelbrot.c too
23:04:23 <lindi-> hmm
23:04:24 <jix> lindi-: what's your gcc version?
23:04:39 <lindi-> this time i used gcc (GCC) 3.4.3 20050227 (Red Hat 3.4.3-22.fc3)
23:04:54 <lindi-> jix: can you put the C source file online?
23:04:55 <jix> try 4.1
23:05:05 <jix> www.harderweb.de/jix/langs/brainfuck/mandelbrot.c.zip
23:05:48 <lindi-> segfaults with gcc cvs head too
23:06:12 <lindi-> and the C file is identical
23:06:22 <lindi-> jix: what version of gcc did you use?
23:07:01 <lindi-> works with gcc 2.95
23:07:30 <lindi-> jix: either you depend on undefined behavior or this is regression
23:10:27 <lindi-> Program received signal SIGSEGV, Segmentation fault.
23:10:27 <lindi-> main (argc=1, argv=) at mandelbrot.c:336
23:10:28 <lindi-> 336 m[-7]+=m[29];
23:12:03 <lindi-> jix: m = (unsigned char *) 0x9b6e006 "",m_srt = (unsigned char *) 0x9b6e008 "",m_min = (unsigned char *) 0x9b6e00f "",m_max = (unsigned char *) 0x9b6ea9b "",m_size = 3089,m_p = 134560282,v = 0 '\0',f = 239 'ο'
23:13:13 <lindi-> jix: hope that helps, please ask if you need more info
23:42:57 -!- Aardwolf has joined.
23:50:08 <pgimeno> one word of warning against gcc-4.0.0: http://swox.com/list-archives/gmp-discuss/2005-July/001752.html (it applies to ia64 mostly, though)
23:50:52 -!- graue has joined.
23:52:12 <pgimeno> jix: sorry to be late when you needed testing; your compiler is currently best: {^Raven^}'s: 4.564real/4.114user, yours: 3.738real/3.298user
23:55:53 <jix> lindi-: argh
23:56:04 <jix> aaarrgghhh!
23:56:11 <jix> lindi-: helps a lot
23:56:25 <jix> m<m_srt => segfault
23:57:07 <jix> but wait m<m_srt is only possible if the program moves < cell 0
23:57:30 <jix> and the brainfuck tape has one end
23:58:43 <jix> lindi-: i used gcc 4.0.0
23:58:55 <Keymaker> me goes sleep-mode
23:58:59 <Keymaker> good nite
23:59:10 -!- Keymaker has quit ("Funkadelic!").
23:59:59 <jix> gcc version 3.3 20030304 (Apple Computer, Inc. build 1809) works too
←2005-07-24 2005-07-25 2005-07-26β†’ ↑2005 ↑all