< 1122251074 0 :BigZaphod!unknown@unknown.invalid QUIT : < 1122253028 0 :jix!unknown@unknown.invalid QUIT :"Bitte waehlen Sie eine Beerdigungnachricht" < 1122255447 0 :calamari!~calamari@dialup-4.240.108.135.Dial1.Phoenix1.Level3.net JOIN :#esoteric < 1122255538 0 :pgimeno!unknown@unknown.invalid PRIVMSG #esoteric :graue: could you please test if this patch for bff causes it to work? http://www.formauri.es/personal/pgimeno/temp/bff.patch < 1122255582 0 :pgimeno!unknown@unknown.invalid PRIVMSG #esoteric :at least the patch makes valgrind stop complaining < 1122255699 0 :graue!unknown@unknown.invalid PRIVMSG #esoteric :will do < 1122255732 0 :pgimeno!unknown@unknown.invalid PRIVMSG #esoteric :thanks < 1122255771 0 :pgimeno!unknown@unknown.invalid PRIVMSG #esoteric :I'm off to bed now, bye < 1122255784 0 :graue!unknown@unknown.invalid PRIVMSG #esoteric :bye < 1122255893 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :hi < 1122255899 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :cya pgimeno ;) < 1122259243 0 :BigZaphod!~BigZaphod@dyvl-01-0198.dsl.iowatelecom.net JOIN :#esoteric < 1122259300 0 :BigZaphod!unknown@unknown.invalid QUIT :Client Quit < 1122259437 0 :BigZaphod!~BigZaphod@dyvl-01-0198.dsl.iowatelecom.net JOIN :#esoteric < 1122259516 0 :graue!unknown@unknown.invalid PRIVMSG #esoteric :hi BigZaphod < 1122259522 0 :BigZaphod!unknown@unknown.invalid PRIVMSG #esoteric :hey < 1122259530 0 :graue!unknown@unknown.invalid PRIVMSG #esoteric :you tried writing anything in Archway2? < 1122259533 0 :graue!unknown@unknown.invalid PRIVMSG #esoteric :it's fun < 1122259541 0 :BigZaphod!unknown@unknown.invalid PRIVMSG #esoteric ::) Nope, haven't looked into it. < 1122259554 0 :graue!unknown@unknown.invalid PRIVMSG #esoteric :http://www.esolangs.org/wiki/Archway2 < 1122259576 0 :graue!unknown@unknown.invalid PRIVMSG #esoteric :except without the 2 < 1122259641 0 :BigZaphod!unknown@unknown.invalid PRIVMSG #esoteric :interesting. < 1122259718 0 :graue!unknown@unknown.invalid PRIVMSG #esoteric :Archway2 kind of reminds me of surfing, the cool water splashing all over my programs (in the form of / and \) < 1122259768 0 :graue!unknown@unknown.invalid PRIVMSG #esoteric :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 < 1122259772 0 :BigZaphod!unknown@unknown.invalid PRIVMSG #esoteric :it reminded me of a fractal < 1122259780 0 :graue!unknown@unknown.invalid PRIVMSG #esoteric :you're more abstract than me < 1122259784 0 :BigZaphod!unknown@unknown.invalid PRIVMSG #esoteric :that'd be an ice excuse.. :-) < 1122259786 0 :BigZaphod!unknown@unknown.invalid PRIVMSG #esoteric :er.. nice < 1122259795 0 :BigZaphod!unknown@unknown.invalid PRIVMSG #esoteric :(ice, too, if its winter, I suppose) < 1122259813 0 :graue!unknown@unknown.invalid PRIVMSG #esoteric :it would be summer < 1122259843 0 :BigZaphod!unknown@unknown.invalid PRIVMSG #esoteric :what part of the world are you in? (how far is the ocean for you?) < 1122259858 0 :BigZaphod!unknown@unknown.invalid PRIVMSG #esoteric :I've only seen ocean from far above in a plane. < 1122259868 0 :graue!unknown@unknown.invalid PRIVMSG #esoteric :I'm in the eastern United States < 1122259885 0 :BigZaphod!unknown@unknown.invalid PRIVMSG #esoteric :I'm in the Iowa. We don't get much ocean here.. :-) < 1122259893 0 :graue!unknown@unknown.invalid PRIVMSG #esoteric :the ocean would be three or four hours away by car, at least < 1122259921 0 :BigZaphod!unknown@unknown.invalid PRIVMSG #esoteric :that's not so bad. at least a couple days for me. < 1122261786 0 :graue!unknown@unknown.invalid PRIVMSG #esoteric :pgimeno: the patch didn't fix it < 1122262213 0 :calamari!unknown@unknown.invalid QUIT :"Leaving" < 1122262960 0 :heatsink!unknown@unknown.invalid PRIVMSG #esoteric :BigZaphod: Only two days if you get a copilot and take turns sleeping. < 1122262992 0 :graue!unknown@unknown.invalid PRIVMSG #esoteric :you mean two hours, right? < 1122263159 0 :heatsink!unknown@unknown.invalid PRIVMSG #esoteric :maybe if you have an aircraft. < 1122263191 0 :BigZaphod!unknown@unknown.invalid PRIVMSG #esoteric :that'd be a really fast aircraft.. I think by jet it's still about an hour just to Chicago from here. < 1122263233 0 :BigZaphod!unknown@unknown.invalid PRIVMSG #esoteric :unless its supersonic. < 1122263536 0 :graue!unknown@unknown.invalid PRIVMSG #esoteric :two days would be a really slow aircraft, though < 1122263547 0 :graue!unknown@unknown.invalid PRIVMSG #esoteric :I assumed the unit was wrong < 1122270055 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :Oregon here. < 1122270059 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :Only about an hour from the beach. < 1122270072 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :But the Oregon ocean is cold and unappealing. < 1122270090 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :(That is, the Pacific ocean by Oregon) < 1122270166 0 :heatsink!unknown@unknown.invalid QUIT :"Leaving" < 1122270227 0 :graue!unknown@unknown.invalid PRIVMSG #esoteric :GregorR, how goes? < 1122271486 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :It's still goin'. < 1122273165 0 :graue!unknown@unknown.invalid PRIVMSG #esoteric :I find that answer largely unappealing < 1122274256 0 :BigZaphod!unknown@unknown.invalid QUIT :Read error: 110 (Connection timed out) < 1122276240 0 :graue!unknown@unknown.invalid QUIT :"Donate a manual typewriter to ME for your only hope for a future!" < 1122278399 0 :clog!unknown@unknown.invalid QUIT :ended < 1122278400 0 :clog!unknown@unknown.invalid JOIN :#esoteric < 1122279717 0 :ZeroOne_!unknown@unknown.invalid QUIT :Remote closed the connection < 1122285120 0 :grimace_!~grim@213-152-53-111.dsl.eclipse.net.uk JOIN :#esoteric < 1122285775 0 :sp3tt!~chatzilla@cust-148-133.elhandel.umeaenergi.se JOIN :#esoteric < 1122294834 0 :kipple__!~kipple@163.80-202-100.nextgentel.com JOIN :#esoteric < 1122299440 0 :jix!jix@p5489E5D4.dip.t-dialin.net JOIN :#esoteric < 1122300970 0 :puzzlet!unknown@unknown.invalid QUIT :Client Quit < 1122300972 0 :puzzlet!~puzzlet@61.247.147.84 JOIN :#esoteric < 1122303049 0 :fungebob!~BYUMUG@67.106.148.83 JOIN :#esoteric < 1122307183 0 :kipple___!~kipple@80.202.100.163 JOIN :#esoteric < 1122307183 0 :kipple__!unknown@unknown.invalid QUIT :Read error: 104 (Connection reset by peer) < 1122307608 0 :pgimeno!unknown@unknown.invalid PRIVMSG #esoteric :jix: there? < 1122308776 0 :yrz\werk!~yaro@host30-224.pool8248.interbusiness.it JOIN :#esoteric < 1122309440 0 :yrz\werk_!unknown@unknown.invalid QUIT :Connection timed out < 1122309796 0 :jix!unknown@unknown.invalid PRIVMSG #esoteric :pgimeno: yes < 1122310891 0 :sp3tt!unknown@unknown.invalid QUIT :Client Quit < 1122312242 0 :calamari!~jeffryj@lilly.csoft.net JOIN :#esoteric < 1122312243 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :hi < 1122312260 0 :jix!unknown@unknown.invalid PRIVMSG #esoteric :moin calamari < 1122312268 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :hi jix < 1122312276 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :how's your new adventure game going? < 1122312289 0 :jix!unknown@unknown.invalid PRIVMSG #esoteric :lowest priority < 1122312299 0 :jix!unknown@unknown.invalid PRIVMSG #esoteric :i'm working on my brainfuck-compiler < 1122312337 0 :jix!unknown@unknown.invalid PRIVMSG #esoteric :the next thing i want to do is my website < 1122312337 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :-> bf or bf -> ? < 1122312344 0 :pgimeno!unknown@unknown.invalid PRIVMSG #esoteric :hi calamari < 1122312346 0 :jix!unknown@unknown.invalid PRIVMSG #esoteric :bf -> < 1122312346 0 :pgimeno!unknown@unknown.invalid PRIVMSG #esoteric :jix: can you try bff on mac? < 1122312349 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :hi pgimeno < 1122312363 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :jix: to what language.. c? < 1122312364 0 :jix!unknown@unknown.invalid PRIVMSG #esoteric :pgimeno: i did, it doesn't work < 1122312384 0 :jix!unknown@unknown.invalid PRIVMSG #esoteric :calamari: first ruby (for testing) later c or maybe asm < 1122312389 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :jix: nifty < 1122312407 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :you should still enter your other adventure game.. maybe spiff it up a bit :) < 1122312437 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :made a bit of progress on mine last night, so it's on my mind hehe < 1122312448 0 :jix!unknown@unknown.invalid PRIVMSG #esoteric :when is the deadline? < 1122312453 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :sept 1 < 1122312486 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :it < 1122312510 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :it'll be hard for me to finish in time, since I'm not working on it very often < 1122312571 0 :pgimeno!unknown@unknown.invalid PRIVMSG #esoteric :jix: did you try with my patch? < 1122312630 0 :jix!unknown@unknown.invalid PRIVMSG #esoteric :pgimeno: patch? < 1122312668 0 :pgimeno!unknown@unknown.invalid PRIVMSG #esoteric :http://www.formauri.es/personal/pgimeno/temp/bff.patch - would you mind to try applying it and see if it works? < 1122312724 0 :sp3tt!~chatzilla@212.217.148.133 JOIN :#esoteric < 1122312804 0 :jix!unknown@unknown.invalid PRIVMSG #esoteric :pgimeno: works! < 1122312813 0 :pgimeno!unknown@unknown.invalid PRIVMSG #esoteric :nice! < 1122312893 0 :jix!unknown@unknown.invalid PRIVMSG #esoteric :i had some problems with modulo math yesterday... i solved it... brute-forcing and storing the table in the output-program < 1122312910 0 :jix!unknown@unknown.invalid PRIVMSG #esoteric :that's faster anyway < 1122312926 0 :jix!unknown@unknown.invalid PRIVMSG #esoteric :only 64kb in the worst case < 1122313136 0 :pgimeno!unknown@unknown.invalid PRIVMSG #esoteric :when will we see a release? < 1122313154 0 :jix!unknown@unknown.invalid PRIVMSG #esoteric :today or tomorrow < 1122313172 0 :jix!unknown@unknown.invalid PRIVMSG #esoteric :i have to complete stage2 of optimisation and write stage3 < 1122313313 0 :pgimeno!unknown@unknown.invalid PRIVMSG #esoteric :cool < 1122313542 0 :jix!unknown@unknown.invalid PRIVMSG #esoteric :the code is chaotic... < 1122313548 0 :jix!unknown@unknown.invalid PRIVMSG #esoteric :it's ruby code but it's chaotic < 1122313565 0 :jix!unknown@unknown.invalid PRIVMSG #esoteric :i just started coding without writing down all optimizations first < 1122313847 0 :graue!~graue@ip68-105-183-147.dc.dc.cox.net JOIN :#esoteric < 1122313880 0 :jix!unknown@unknown.invalid PRIVMSG #esoteric :my intermediate language has an "if cell is divisible by 2^n zero cell else infinity loop" instruction... < 1122313925 0 :jix!unknown@unknown.invalid PRIVMSG #esoteric :it's mnemonic is if_divtxilzeif < 1122314014 0 :jix!unknown@unknown.invalid PRIVMSG #esoteric :ok it's not zero but set_to now.. that's important for stage3 optimizations < 1122314107 0 :jix!unknown@unknown.invalid PRIVMSG #esoteric :5,4kb code < 1122314838 0 :fungebob!unknown@unknown.invalid QUIT :Read error: 110 (Connection timed out) < 1122314877 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :jix: what about code that changes the loop variable.. such as ++++[--->+<-].. very contrived, but it could happen in a nested [ ] < 1122315028 0 :grimace_!unknown@unknown.invalid PART #esoteric :? < 1122315053 0 :jix!unknown@unknown.invalid PRIVMSG #esoteric :++++[--->+<-] => [0]+4,mov_mul([0],-4,[1]+1) < 1122315102 0 :jix!unknown@unknown.invalid PRIVMSG #esoteric :add 4 to cell 0, do a mov_mul instruction with field 0 as counter -4 as increment and [1]+1 as action < 1122315127 0 :jix!unknown@unknown.invalid PRIVMSG #esoteric :the mov_mul instruction is a bit complex but fast even with ++[--->+<] < 1122315149 0 :graue!unknown@unknown.invalid QUIT :Read error: 104 (Connection reset by peer) < 1122315152 0 :jix!unknown@unknown.invalid PRIVMSG #esoteric :that's where i use the upto 64kb lookuptable < 1122315346 0 :jix!unknown@unknown.invalid PRIVMSG #esoteric :hmm it's only 32kb... < 1122316919 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :jix: sorry, that's what I meant by contrived.. let's see if I can show more clearly what I meant: ++++[>+>+[<<+++++>>-]<------] < 1122316942 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :that's off the top of my head.. sorry for any errors :) < 1122316971 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :that should translate to +++++[>+<-] if I did it right < 1122317009 0 :pgimeno!unknown@unknown.invalid PRIVMSG #esoteric :maybe there's a missing < ? < 1122317022 0 :pgimeno!unknown@unknown.invalid PRIVMSG #esoteric :like: <<------] < 1122317033 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :yeah, after ] it should be << < 1122317060 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :anyhow.. does your alg pick up that it is -1 not -6 ? < 1122317092 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :or does it handle nested loops like that? :) < 1122317108 0 :pgimeno!unknown@unknown.invalid PRIVMSG #esoteric :oh well, who writes obfuscated BF anyway? :) < 1122317119 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :pgimeno: that's not < 1122317125 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :it's just a simple example < 1122317136 0 :pgimeno!unknown@unknown.invalid PRIVMSG #esoteric :j/k < 1122317151 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :I could come up with a more complicated real-life example, but the idea would be obscured < 1122317204 0 :pgimeno!unknown@unknown.invalid PRIVMSG #esoteric :someone should invent BF++ < 1122317214 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :hehe < 1122317247 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :or P.. take P'' and integrate a couple times ;) < 1122317280 0 :pgimeno!unknown@unknown.invalid PRIVMSG #esoteric :heh, nice idea :) < 1122317318 0 :pgimeno!unknown@unknown.invalid PRIVMSG #esoteric :I was wondering... does the world need a 1-symbol language? < 1122317401 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :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 < 1122317423 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :but if it is just one symbol and a tarpit, that'd be cool.. is it possible? < 1122317455 0 :pgimeno!unknown@unknown.invalid PRIVMSG #esoteric :NULL is sort of that already, you just have to express a NULL program in unary < 1122317465 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :note that one symbol is the same as using file size for the program :) < 1122317474 0 :pgimeno!unknown@unknown.invalid PRIVMSG #esoteric :yup < 1122317482 0 :pgimeno!unknown@unknown.invalid PRIVMSG #esoteric :(except for comments) < 1122317499 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :But you have a _really_ efficient source code compression algorithm: use a binary number that tells how many of the symbol there are. :p < 1122317574 0 :pgimeno!unknown@unknown.invalid PRIVMSG #esoteric :it would kind of lose some of the magic though... < 1122317610 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :somehow I think 2 symbols would be the minimum without cheating < 1122317649 0 :pgimeno!unknown@unknown.invalid PRIVMSG #esoteric :actually it's pretty hard to define cheating < 1122317658 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :yeah it is < 1122317694 0 :pgimeno!unknown@unknown.invalid PRIVMSG #esoteric :I was thinking... a hello world program would need like... many gigs < 1122317708 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :I'd consider cheating having it interpret more instructions than there are symbols.. just my bias tho :) < 1122317755 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :that one instruction can be wonderfully complex, though.. hehe < 1122317788 0 :pgimeno!unknown@unknown.invalid PRIVMSG #esoteric :my decision is that the world is already good enough without a 1-symbol language < 1122317826 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :are there non-cheating 2 symbol languages? seems like there was a lamda calc.. iota or jot or something? < 1122317836 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :lambda < 1122317848 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :or do they require 3? < 1122317859 0 :pgimeno!unknown@unknown.invalid PRIVMSG #esoteric :no, both iota and jot are 2-symbol < 1122317863 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :nifty < 1122317874 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :how many instructions.. just 2, right ? < 1122317879 0 :pgimeno!unknown@unknown.invalid PRIVMSG #esoteric :jot programs are any string of 0's and 1's < 1122317886 0 :pgimeno!unknown@unknown.invalid PRIVMSG #esoteric :including the empty string < 1122317910 0 :pgimeno!unknown@unknown.invalid PRIVMSG #esoteric :in iota the instructions are * and i, but not all programs are syntactically valid < 1122317958 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :lets say I did 01.. does it internally translate that into a different intstruction? < 1122317977 0 :fungebob!~BYUMUG@67.106.148.83 JOIN :#esoteric < 1122317981 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :or 00 or 10 or whatever < 1122317991 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :if not, then I'd say it is the tarpit winner :) < 1122317997 0 :pgimeno!unknown@unknown.invalid PRIVMSG #esoteric :I don't know enough lambda calculus as to answer < 1122318003 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :yeah, neither do I < 1122318017 0 :pgimeno!unknown@unknown.invalid PRIVMSG #esoteric :what do you call a different instruction? < 1122318037 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :lets take a different example < 1122318041 0 :pgimeno!unknown@unknown.invalid PRIVMSG #esoteric :i think it doesn't cheat, in the sense you mean < 1122318044 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :I can go along 00101000111 < 1122318067 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :now I take 00 = 0, 01 = 1, 10 = 2, 11 = 3.. now I have 4 instructions, not 2 < 1122318075 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :From what I remember of iota/jot, I don't think neither of them cheat in that way. < 1122318081 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :cool! < 1122318084 0 :pgimeno!unknown@unknown.invalid PRIVMSG #esoteric :nope, there are 2 instructions < 1122318120 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :bbl..meeting time < 1122318126 0 :calamari!unknown@unknown.invalid QUIT :"Leaving" < 1122318136 0 :pgimeno!unknown@unknown.invalid PRIVMSG #esoteric :"Sorry! The wiki is experiencing some technical difficulties, and cannot contact the database server. < 1122318136 0 :pgimeno!unknown@unknown.invalid PRIVMSG #esoteric :Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)" < 1122318152 0 :pgimeno!unknown@unknown.invalid PRIVMSG #esoteric :is it just me? < 1122318715 0 :yrz\werk_!~yaro@host27-230.pool8248.interbusiness.it JOIN :#esoteric < 1122318881 0 :jix!unknown@unknown.invalid PRIVMSG #esoteric :i'm not doing much nested loop optimizations < 1122318901 0 :jix!unknown@unknown.invalid PRIVMSG #esoteric :but i can add some in stage 3 < 1122319356 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :The new optimizations are in on egobf, but I must admit that it doesn't look good. < 1122319362 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :...for the rest of you! BWAHA! < 1122319413 0 :jix!unknown@unknown.invalid PRIVMSG #esoteric :GregorR: time for mandelbrot.b? < 1122319471 0 :lindi-!unknown@unknown.invalid PRIVMSG #esoteric :GregorR: or actually, time compared to BF2C+gcc -O2? < 1122319485 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :OK, OK, we all know that comparing it to a compiler is unfair. < 1122319501 0 :lindi-!unknown@unknown.invalid PRIVMSG #esoteric :unfair? ;) < 1122319506 0 :lindi-!unknown@unknown.invalid PRIVMSG #esoteric :why? < 1122319516 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :Because compilers will implicitly be faster. < 1122319523 0 :lindi-!unknown@unknown.invalid PRIVMSG #esoteric :GregorR: why? < 1122319532 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :Well, I guess I do need to time both steps *shrugs* < 1122319537 0 :lindi-!unknown@unknown.invalid PRIVMSG #esoteric :we just proved yesterday that it can be slower < 1122319548 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :Anyway, I'm actually at work right now, I just logged in to brag about the morning commute's work :P < 1122319549 0 :lindi-!unknown@unknown.invalid PRIVMSG #esoteric :if you count the compilation time < 1122319556 0 :lindi-!unknown@unknown.invalid PRIVMSG #esoteric :heh < 1122319574 0 :jix!unknown@unknown.invalid PRIVMSG #esoteric :lindi-: we proved that even with -O0 it's faster didn't we? < 1122319610 0 :yrz\werk!unknown@unknown.invalid QUIT :Read error: 110 (Connection timed out) < 1122319650 0 :cyph1e!asd@82.99.28.176 JOIN :#esoteric < 1122319709 0 :lindi-!unknown@unknown.invalid PRIVMSG #esoteric :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 < 1122319770 0 :jix!unknown@unknown.invalid PRIVMSG #esoteric :but if the converter would output (*p)+=10 instead of 10 times (*p)++ gcc would be a lot faster < 1122319797 0 :lindi-!unknown@unknown.invalid PRIVMSG #esoteric :jix: possibly < 1122319806 0 :lindi-!unknown@unknown.invalid PRIVMSG #esoteric :i'm not 100% sure < 1122319828 0 :jix!unknown@unknown.invalid PRIVMSG #esoteric :with -O0 it would be as good as with -O1 and 10x (*p)++ < 1122319835 0 :jix!unknown@unknown.invalid PRIVMSG #esoteric :and -O0 is very fast < 1122319855 0 :jix!unknown@unknown.invalid PRIVMSG #esoteric :it's alot easier to optimize brainfuck code than optimizing c code < 1122319872 0 :lindi-!unknown@unknown.invalid PRIVMSG #esoteric :hmm < 1122319917 0 :lindi-!unknown@unknown.invalid PRIVMSG #esoteric :jix: gcc converts to GIMPLE first anyway and then optimizes the GIMPLE representation < 1122319939 0 :jix!unknown@unknown.invalid PRIVMSG #esoteric :lindi-: it's still easier to optimize bf than optimize GIMPLE < 1122319947 0 :lindi-!unknown@unknown.invalid PRIVMSG #esoteric :perhaps < 1122319998 0 :jix!unknown@unknown.invalid PRIVMSG #esoteric :in brainfuck it's easy to detect multiplication which is implemented using addition... in c/GIMPLE it's not that easy < 1122320032 0 :lindi-!unknown@unknown.invalid PRIVMSG #esoteric :hmm < 1122320561 0 :lindi-!unknown@unknown.invalid PRIVMSG #esoteric :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 < 1122320581 0 :Keymaker!~no@ga116.netikka.fi JOIN :#esoteric < 1122320603 0 :Keymaker!unknown@unknown.invalid PRIVMSG #esoteric :hello world < 1122320622 0 :Keymaker!unknown@unknown.invalid PRIVMSG #esoteric :i was in cottage for three days < 1122320644 0 :Keymaker!unknown@unknown.invalid PRIVMSG #esoteric :made up two new quine-technique-ideas for brainfuck < 1122320658 0 :Keymaker!unknown@unknown.invalid PRIVMSG #esoteric :the other was ~1300 bytes and the other 1028 iirc < 1122320676 0 :Keymaker!unknown@unknown.invalid PRIVMSG #esoteric :too bad couldn't make 'em shorter.. i'll try sometime again < 1122321008 0 :jix!unknown@unknown.invalid PRIVMSG #esoteric :i'm near done with stage2 < 1122321037 0 :jix!unknown@unknown.invalid PRIVMSG #esoteric :and it's still not broken (but the A2Ruby class generates slow ruby code A2C has to be faster) < 1122321088 0 :Keymaker!unknown@unknown.invalid PRIVMSG #esoteric :hmm, there has been probably something nice happening..? could anyone sum up. i'm too lazy to read the logs < 1122321265 0 :jix!unknown@unknown.invalid PRIVMSG #esoteric :i'm writing a optimizing brainfuck compiler < 1122321275 0 :Keymaker!unknown@unknown.invalid PRIVMSG #esoteric :sounds cool < 1122321311 0 :jix!unknown@unknown.invalid PRIVMSG #esoteric :but it outputs ruby code atm < 1122321317 0 :Keymaker!unknown@unknown.invalid PRIVMSG #esoteric :'ok < 1122321318 0 :jix!unknown@unknown.invalid PRIVMSG #esoteric :and function calls in ruby are slow < 1122321324 0 :jix!unknown@unknown.invalid PRIVMSG #esoteric :so the output is slow too < 1122321331 0 :Keymaker!unknown@unknown.invalid PRIVMSG #esoteric :ok < 1122321355 0 :jix!unknown@unknown.invalid PRIVMSG #esoteric :i'm going to add c and x86 asm output < 1122321910 0 :jix!unknown@unknown.invalid PRIVMSG #esoteric :done with stage2 < 1122321924 0 :jix!unknown@unknown.invalid PRIVMSG #esoteric :1. C output < 1122321929 0 :jix!unknown@unknown.invalid PRIVMSG #esoteric :2: stage 3 optimizations < 1122322101 0 :kipple__!~kipple@163.80-202-100.nextgentel.com JOIN :#esoteric < 1122322102 0 :kipple___!unknown@unknown.invalid QUIT :Read error: 104 (Connection reset by peer) < 1122322413 0 :pgimeno!unknown@unknown.invalid PRIVMSG #esoteric :hi Keymaker < 1122322459 0 :pgimeno!unknown@unknown.invalid PRIVMSG #esoteric :we've been doing benchmarks of BF interpreters/compilers < 1122322503 0 :Keymaker!unknown@unknown.invalid PRIVMSG #esoteric :ok < 1122322512 0 :Keymaker!unknown@unknown.invalid PRIVMSG #esoteric :(and hi) < 1122322515 0 :yrz\werk1!~yaro@host232-176.pool8252.interbusiness.it JOIN :#esoteric < 1122322529 0 :pgimeno!unknown@unknown.invalid PRIVMSG #esoteric :jix: would this work properly in your interpreter?: [->] (decrement and skip to next until zero found) < 1122322571 0 :jix!unknown@unknown.invalid PRIVMSG #esoteric :pgimeno: in my interpreter? < 1122322578 0 :pgimeno!unknown@unknown.invalid PRIVMSG #esoteric :er compiler, sorry < 1122322589 0 :jix!unknown@unknown.invalid PRIVMSG #esoteric :everything would work properly < 1122322615 0 :pgimeno!unknown@unknown.invalid PRIVMSG #esoteric :ah ok < 1122322620 0 :jix!unknown@unknown.invalid PRIVMSG #esoteric :mandelbrot.b uses moving loops.. and it works < 1122322626 0 :jix!unknown@unknown.invalid PRIVMSG #esoteric :but nonmoving loops are faser < 1122322629 0 :jix!unknown@unknown.invalid PRIVMSG #esoteric :faster < 1122322635 0 :Keymaker!unknown@unknown.invalid PRIVMSG #esoteric :does the compiler create an interpreter? < 1122322680 0 :jix!unknown@unknown.invalid PRIVMSG #esoteric :it creates c code < 1122322694 0 :cmeme!unknown@unknown.invalid QUIT :"Client terminated by server" < 1122322696 0 :Keymaker!unknown@unknown.invalid PRIVMSG #esoteric :ok.. < 1122322715 0 :jix!unknown@unknown.invalid PRIVMSG #esoteric :which does the same thing as the bf code < 1122322722 0 :Keymaker!unknown@unknown.invalid PRIVMSG #esoteric :ah < 1122322724 0 :jix!unknown@unknown.invalid PRIVMSG #esoteric :the c code doesn't interpret the bf code < 1122322729 0 :Keymaker!unknown@unknown.invalid PRIVMSG #esoteric :yes < 1122322738 0 :jix!unknown@unknown.invalid PRIVMSG #esoteric :it's like bf2c but with optimizations < 1122322742 0 :Keymaker!unknown@unknown.invalid PRIVMSG #esoteric :i see now < 1122322822 0 :yrz\werk1!unknown@unknown.invalid QUIT :Client Quit < 1122322930 0 :jix!unknown@unknown.invalid PRIVMSG #esoteric :oh and infinity loops use < 1% cpu! < 1122322945 0 :yrz\werk1!~yaro@host232-176.pool8252.interbusiness.it JOIN :#esoteric < 1122322982 0 :yrz\werk_!unknown@unknown.invalid QUIT :Client Quit < 1122323828 0 :jix!unknown@unknown.invalid PRIVMSG #esoteric :i'm at 12kb code < 1122324407 0 :jix!unknown@unknown.invalid PRIVMSG #esoteric :m[0]+=3; v = m[0]; if(v){m[1]-=v*3; m[0]=0;}; m[1]+=1; putchar(m[1]); < 1122324481 0 :jix!unknown@unknown.invalid PRIVMSG #esoteric :[--] => if(m[0]&1) while(1){sleep(-1);};else m[0]=0; < 1122324568 0 :jix!unknown@unknown.invalid PRIVMSG #esoteric :oops... a little bug < 1122324592 0 :jix!unknown@unknown.invalid PRIVMSG #esoteric :wrong sign for :p_mov_mul and :n_mov_mul < 1122324628 0 :cyph1e!unknown@unknown.invalid PRIVMSG #esoteric :who are you talking to? can we see the code somewhere? < 1122324640 0 :jix!unknown@unknown.invalid PRIVMSG #esoteric :cyph1e: the code isn't complete < 1122324653 0 :jix!unknown@unknown.invalid PRIVMSG #esoteric :the c generator is missing the REALLOC macro and the init/cleanup code < 1122324988 0 :cyph1e!unknown@unknown.invalid PRIVMSG #esoteric :allright.. may I ask you what optimization your compiler (or translator) does? I've never written a compiler, just an interpreter < 1122324988 0 :jix!unknown@unknown.invalid PRIVMSG #esoteric :it optimizes all loops without input/output and balanced < and > 's to multiplications (there are a few exceptions but they are rare) < 1122324988 0 :jix!unknown@unknown.invalid PRIVMSG #esoteric :and it optimizes some other special things < 1122324988 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :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. < 1122324988 0 :BigZaphod!~BigZaphod@198.45.23.220 JOIN :#esoteric < 1122324988 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :I'd like to see your code that optimizes all loops with balanced >><<. < 1122324988 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :I couldn't do it in a way that was more efficient than running them :P < 1122324988 0 :jix!unknown@unknown.invalid PRIVMSG #esoteric :GregorR: but you could call it jiting interpreter... < 1122324988 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :jix: Not quite, it's not just in time, it compiles before it runs. < 1122324988 0 :sp3tt_!~chatzilla@lite-148-133.umenet.net JOIN :#esoteric < 1122324988 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :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. < 1122324988 0 :calamari!~jeffryj@lilly.csoft.net JOIN :#esoteric < 1122324988 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :hello < 1122324988 0 :jix!unknown@unknown.invalid PRIVMSG #esoteric :GregorR: a jit-compiler compiles a routine before it gets executed.. bf code has no subroutines so you may call it jit-compiling ;) < 1122324988 0 :jix!unknown@unknown.invalid PRIVMSG #esoteric :moin calamari < 1122324988 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :re jix < 1122324988 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :Heheh, I guess I can agree with that :) < 1122324988 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :Hoi squiddy. < 1122324988 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :(Wait, is calamari squid? Or octopus? I can't remember...) < 1122324988 0 :jix!unknown@unknown.invalid PRIVMSG #esoteric :calamari: i don't think my compiler optimizes the code you gave me well < 1122324988 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :squid, you got it :) < 1122324996 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :jix: that's okay, as long as it doesn't produce incorrect results < 1122325045 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :how is your curse word language going? < 1122325063 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :fsc or something like that, heh < 1122325240 0 :jix!unknown@unknown.invalid PRIVMSG #esoteric :curse word language? < 1122325295 0 :jix!unknown@unknown.invalid PRIVMSG #esoteric :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;} < 1122325336 0 :jix!unknown@unknown.invalid PRIVMSG #esoteric :ah just noted that there is still space for optimizations < 1122325360 0 :jix!unknown@unknown.invalid PRIVMSG #esoteric :var_b=m+0 ... i could use m instead of var_b beacuse m doesn't change if i use that code snippet < 1122325424 0 :jix!unknown@unknown.invalid PRIVMSG #esoteric :hmm no i shouldn't use the extra_vars at all.. gcc does better optimizations for that anyway < 1122325508 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :pretty cool :) < 1122325532 0 :jix!unknown@unknown.invalid PRIVMSG #esoteric :lut_* are random looking look-up-tables < 1122325561 0 :jix!unknown@unknown.invalid PRIVMSG #esoteric :i use them for [odd number of + or ->something<] < 1122325588 0 :jix!unknown@unknown.invalid PRIVMSG #esoteric :i was only able to generate them using the help of a computer algebra system < 1122325593 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :hehe < 1122325612 0 :jix!unknown@unknown.invalid PRIVMSG #esoteric :i generated the init numbers for the look-up-tables < 1122325630 0 :jix!unknown@unknown.invalid PRIVMSG #esoteric :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, < 1122325630 0 :jix!unknown@unknown.invalid PRIVMSG #esoteric : 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] < 1122325650 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :init numbers? < 1122325654 0 :jix!unknown@unknown.invalid PRIVMSG #esoteric :yes < 1122325662 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :what is an init number? < 1122325669 0 :jix!unknown@unknown.invalid PRIVMSG #esoteric :initial.. < 1122325677 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :what is an inital number ? < 1122325683 0 :jix!unknown@unknown.invalid PRIVMSG #esoteric :a number to start with < 1122325710 0 :jix!unknown@unknown.invalid PRIVMSG #esoteric :(init*n) mod 256 where init is the init number of the table and n is the item number of the table < 1122325749 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :oh, the starting value of the loop variable? < 1122325756 0 :jix!unknown@unknown.invalid PRIVMSG #esoteric :no < 1122325759 0 :jix!unknown@unknown.invalid PRIVMSG #esoteric :the name was stupid < 1122325779 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :I don't get it, but that's okay :) < 1122325791 0 :jix!unknown@unknown.invalid PRIVMSG #esoteric :it's the result of re-editting source code the 10th time < 1122325793 0 :jix!unknown@unknown.invalid PRIVMSG #esoteric :^^ < 1122325804 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :I wonder how much loop unrolling can be done < 1122325824 0 :jix!unknown@unknown.invalid PRIVMSG #esoteric :i do no loop unrolling < 1122325838 0 :jix!unknown@unknown.invalid PRIVMSG #esoteric :i only do loop elimination < 1122325888 0 :cyph1e!unknown@unknown.invalid QUIT :Read error: 110 (Connection timed out) < 1122325924 0 :sp3tt!unknown@unknown.invalid QUIT :Client Quit < 1122327560 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :bbl < 1122327563 0 :calamari!unknown@unknown.invalid QUIT :"Leaving" < 1122327877 0 :jix!unknown@unknown.invalid PRIVMSG #esoteric :mandelbrot: 0.65 secs bf=>c, 13.6 secs gcc with -O2, 7.8secs mandelbrot < 1122327926 0 :jix!unknown@unknown.invalid PRIVMSG #esoteric :on my 1ghz ppc g4 with finder,terminal,safari,adium,quicktimeplayer,xchat-aqua,quicksilver and subethaedit running < 1122328390 0 :jix!unknown@unknown.invalid PRIVMSG #esoteric :only some output fine tuning left until beta-release < 1122328398 0 :jix!unknown@unknown.invalid PRIVMSG #esoteric :stage3 is empty atm < 1122328605 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :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.) < 1122328822 0 :jix!unknown@unknown.invalid PRIVMSG #esoteric :gcc version 4.0.0 20041026 (Apple Computer, Inc. build 4061) < 1122328833 0 :jix!unknown@unknown.invalid PRIVMSG #esoteric :but xcode2.1 is out afaik, < 1122328842 0 :jix!unknown@unknown.invalid PRIVMSG #esoteric :i hate to download xcode < 1122328878 0 :lindi-!unknown@unknown.invalid PRIVMSG #esoteric :gcc (GCC) 4.1.0 20050720 (experimental) < 1122328920 0 :jix!unknown@unknown.invalid PRIVMSG #esoteric :maybe xcode2.1 has gcc 4.1.0 < 1122328957 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :I used to have xcode1.5, caused some trouble with fink, but didn't bother to upgrade to 1.9 before installing Tiger. < 1122328987 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :What's new in 4.1? Better loop-autovectorization and/or instruction-scheduling? < 1122328997 0 :jix!unknown@unknown.invalid PRIVMSG #esoteric :dunno < 1122329005 0 :jix!unknown@unknown.invalid PRIVMSG #esoteric :1h46m remaining... < 1122329012 0 :jix!unknown@unknown.invalid PRIVMSG #esoteric :752mb dmg < 1122329053 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :I see three neighbouring WEP-enabled wlans: "overland", "aurinko" and "animalfarm". < 1122329122 0 :jix!unknown@unknown.invalid PRIVMSG #esoteric :mandelbrot.b 11669 byte mandelbrot.c 23835 byte mandelbrot 45676 byte output 6240 byte ^^ < 1122329311 0 :lindi-!unknown@unknown.invalid PRIVMSG #esoteric :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 < 1122329673 0 :jix!unknown@unknown.invalid PRIVMSG #esoteric :http://www.harderweb.de/jix/langs/brainfuck/bf2a.rb < 1122329696 0 :jix!unknown@unknown.invalid PRIVMSG #esoteric :didn't compared it against bf2c < 1122329930 0 :jix!unknown@unknown.invalid PRIVMSG #esoteric :ah made a mistake < 1122329934 0 :sp3tt_!unknown@unknown.invalid QUIT :Client Quit < 1122329936 0 :jix!unknown@unknown.invalid PRIVMSG #esoteric :there is still some debugging code < 1122329943 0 :jix!unknown@unknown.invalid PRIVMSG #esoteric :that will flood your terminal < 1122329980 0 :jix!unknown@unknown.invalid PRIVMSG #esoteric :fixed < 1122330047 0 :jix!unknown@unknown.invalid PRIVMSG #esoteric :nother error < 1122330109 0 :jix!unknown@unknown.invalid PRIVMSG #esoteric :fixed < 1122330133 0 :jix!unknown@unknown.invalid PRIVMSG #esoteric :argh < 1122330135 0 :jix!unknown@unknown.invalid PRIVMSG #esoteric :not fixed < 1122330322 0 :jix!unknown@unknown.invalid PRIVMSG #esoteric :fixed! < 1122330469 0 :jix!unknown@unknown.invalid PRIVMSG #esoteric :everyone: please test it < 1122330710 0 :jix!unknown@unknown.invalid PRIVMSG #esoteric :... < 1122330717 0 :jix!unknown@unknown.invalid PRIVMSG #esoteric :pgimeno: ping < 1122331206 0 :jix!unknown@unknown.invalid PRIVMSG #esoteric :no one is here :'( < 1122331353 0 :Keymaker!unknown@unknown.invalid PRIVMSG #esoteric :i'm here but can't test it < 1122331361 0 :Keymaker!unknown@unknown.invalid PRIVMSG #esoteric :i don't have any ruby software < 1122331362 0 :jix!unknown@unknown.invalid PRIVMSG #esoteric :Keymaker: why? < 1122331368 0 :Keymaker!unknown@unknown.invalid PRIVMSG #esoteric :and i'm not on my home computer < 1122331384 0 :jix!unknown@unknown.invalid PRIVMSG #esoteric :windows? < 1122331387 0 :Keymaker!unknown@unknown.invalid PRIVMSG #esoteric :yes < 1122331403 0 :jix!unknown@unknown.invalid PRIVMSG #esoteric :maybe i can create a stand-alone exe < 1122331411 0 :jix!unknown@unknown.invalid PRIVMSG #esoteric :do you have gcc? < 1122331427 0 :Keymaker!unknown@unknown.invalid PRIVMSG #esoteric :no < 1122331439 0 :jix!unknown@unknown.invalid PRIVMSG #esoteric :ok.. than you really can't test it < 1122331449 0 :Keymaker!unknown@unknown.invalid PRIVMSG #esoteric :yeah < 1122331468 0 :Keymaker!unknown@unknown.invalid PRIVMSG #esoteric :but.. i have mingw < 1122331541 0 :jix!unknown@unknown.invalid PRIVMSG #esoteric :the mingw package comes with gcc(?) < 1122331564 0 :jix!unknown@unknown.invalid PRIVMSG #esoteric :it does < 1122331566 0 :Keymaker!unknown@unknown.invalid PRIVMSG #esoteric :dunno < 1122331581 0 :Keymaker!unknown@unknown.invalid PRIVMSG #esoteric :but it probably doesn't matter what c compiler it uses..? < 1122331587 0 :jix!unknown@unknown.invalid PRIVMSG #esoteric :Keymaker: yes < 1122331590 0 :Keymaker!unknown@unknown.invalid PRIVMSG #esoteric :oh < 1122331599 0 :jix!unknown@unknown.invalid PRIVMSG #esoteric :yes it doesn't metter < 1122331616 0 :jix!unknown@unknown.invalid PRIVMSG #esoteric :but i only tried gcc < 1122331636 0 :Keymaker!unknown@unknown.invalid PRIVMSG #esoteric :ah. ok < 1122331637 0 :jix!unknown@unknown.invalid PRIVMSG #esoteric :but i don't know where to get a windows ruby binary < 1122331645 0 :Keymaker!unknown@unknown.invalid PRIVMSG #esoteric :well, me neither < 1122331648 0 :jix!unknown@unknown.invalid PRIVMSG #esoteric :all binary versions i know use an installer < 1122331654 0 :Keymaker!unknown@unknown.invalid PRIVMSG #esoteric :and i wouldn't like to install any ruby stuff here < 1122331671 0 :jix!unknown@unknown.invalid PRIVMSG #esoteric :why not? ruby is a great langauge? *g* < 1122331684 0 :Keymaker!unknown@unknown.invalid PRIVMSG #esoteric :well, it would have no use here :) < 1122331700 0 :jix!unknown@unknown.invalid PRIVMSG #esoteric :why? < 1122331717 0 :Keymaker!unknown@unknown.invalid PRIVMSG #esoteric :because nobody would program in it < 1122331731 0 :jix!unknown@unknown.invalid PRIVMSG #esoteric :yes but maybe someone wants to run ruby programs? < 1122331735 0 :Keymaker!unknown@unknown.invalid PRIVMSG #esoteric :no < 1122331746 0 :Keymaker!unknown@unknown.invalid PRIVMSG #esoteric :trust me < 1122331750 0 :jix!unknown@unknown.invalid PRIVMSG #esoteric :you want to run bf2a right? < 1122331763 0 :Keymaker!unknown@unknown.invalid PRIVMSG #esoteric :well, yes, but without installing any new software < 1122331770 0 :jix!unknown@unknown.invalid PRIVMSG #esoteric :okokok... < 1122331777 0 :Keymaker!unknown@unknown.invalid PRIVMSG #esoteric :you could always send me < 1122331781 0 :Keymaker!unknown@unknown.invalid PRIVMSG #esoteric :the c code < 1122331787 0 :Keymaker!unknown@unknown.invalid PRIVMSG #esoteric :that the compiler has generated < 1122331794 0 :Keymaker!unknown@unknown.invalid PRIVMSG #esoteric :out of that fractal brainfuck program < 1122331796 0 :Keymaker!unknown@unknown.invalid PRIVMSG #esoteric :for example < 1122331879 0 :jix!unknown@unknown.invalid PRIVMSG #esoteric :www.harderweb.de/jix/langs/brainfuck/mandelbrot.c.zip < 1122331944 0 :Keymaker!unknown@unknown.invalid PRIVMSG #esoteric :i'll try < 1122331958 0 :jix!unknown@unknown.invalid PRIVMSG #esoteric :i tried to compiler Lost Kingdom.. Out of stack space. < 1122332029 0 :Keymaker!unknown@unknown.invalid PRIVMSG #esoteric :works great < 1122332054 0 :Keymaker!unknown@unknown.invalid PRIVMSG #esoteric :(although 80x25 window probably isn't meant for that program) < 1122332072 0 :jix!unknown@unknown.invalid PRIVMSG #esoteric :80x25 is too small < 1122332090 0 :Keymaker!unknown@unknown.invalid PRIVMSG #esoteric :yeah < 1122332094 0 :Keymaker!unknown@unknown.invalid PRIVMSG #esoteric :good work jix < 1122332146 0 :Keymaker!unknown@unknown.invalid PRIVMSG #esoteric :definitely beats the **** out of those compilers that don't optimize at all < 1122332239 0 :Keymaker!unknown@unknown.invalid PRIVMSG #esoteric :btw, if i do an array in c like this way a[]={3,2,1} < 1122332250 0 :Keymaker!unknown@unknown.invalid PRIVMSG #esoteric :is there a way to get the size of the array? < 1122332287 0 :jix!unknown@unknown.invalid PRIVMSG #esoteric :sizeof(a) < 1122332298 0 :jix!unknown@unknown.invalid PRIVMSG #esoteric :afaik < 1122332317 0 :jix!unknown@unknown.invalid PRIVMSG #esoteric :but i'm not sure < 1122332318 0 :Keymaker!unknown@unknown.invalid PRIVMSG #esoteric :ok < 1122332603 0 :lindi-!unknown@unknown.invalid PRIVMSG #esoteric :jix: bfa2.rb mandelbrot.b mandelbrot.c ; gcc mandelbrot.c -o mandelbrot -O2 ; ./mandelbrot segfaults < 1122332623 0 :jix!unknown@unknown.invalid PRIVMSG #esoteric :aaargggh < 1122332645 0 :jix!unknown@unknown.invalid PRIVMSG #esoteric :but it works here < 1122332659 0 :jix!unknown@unknown.invalid PRIVMSG #esoteric :and keymaker was able to compiler and run mandelbrot.c too < 1122332663 0 :lindi-!unknown@unknown.invalid PRIVMSG #esoteric :hmm < 1122332664 0 :jix!unknown@unknown.invalid PRIVMSG #esoteric :lindi-: what's your gcc version? < 1122332679 0 :lindi-!unknown@unknown.invalid PRIVMSG #esoteric :this time i used gcc (GCC) 3.4.3 20050227 (Red Hat 3.4.3-22.fc3) < 1122332694 0 :lindi-!unknown@unknown.invalid PRIVMSG #esoteric :jix: can you put the C source file online? < 1122332695 0 :jix!unknown@unknown.invalid PRIVMSG #esoteric :try 4.1 < 1122332705 0 :jix!unknown@unknown.invalid PRIVMSG #esoteric :www.harderweb.de/jix/langs/brainfuck/mandelbrot.c.zip < 1122332748 0 :lindi-!unknown@unknown.invalid PRIVMSG #esoteric :segfaults with gcc cvs head too < 1122332772 0 :lindi-!unknown@unknown.invalid PRIVMSG #esoteric :and the C file is identical < 1122332782 0 :lindi-!unknown@unknown.invalid PRIVMSG #esoteric :jix: what version of gcc did you use? < 1122332821 0 :lindi-!unknown@unknown.invalid PRIVMSG #esoteric :works with gcc 2.95 < 1122332850 0 :lindi-!unknown@unknown.invalid PRIVMSG #esoteric :jix: either you depend on undefined behavior or this is regression < 1122333027 0 :lindi-!unknown@unknown.invalid PRIVMSG #esoteric :Program received signal SIGSEGV, Segmentation fault. < 1122333027 0 :lindi-!unknown@unknown.invalid PRIVMSG #esoteric :main (argc=1, argv=) at mandelbrot.c:336 < 1122333028 0 :lindi-!unknown@unknown.invalid PRIVMSG #esoteric :336 m[-7]+=m[29]; < 1122333123 0 :lindi-!unknown@unknown.invalid PRIVMSG #esoteric :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 'ï' < 1122333193 0 :lindi-!unknown@unknown.invalid PRIVMSG #esoteric :jix: hope that helps, please ask if you need more info < 1122334977 0 :Aardwolf!~neusring@dD576509A.access.telenet.be JOIN :#esoteric < 1122335408 0 :pgimeno!unknown@unknown.invalid PRIVMSG #esoteric :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) < 1122335452 0 :graue!~graue@ip68-100-130-21.dc.dc.cox.net JOIN :#esoteric < 1122335532 0 :pgimeno!unknown@unknown.invalid PRIVMSG #esoteric :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 < 1122335753 0 :jix!unknown@unknown.invalid PRIVMSG #esoteric :lindi-: argh < 1122335764 0 :jix!unknown@unknown.invalid PRIVMSG #esoteric :aaarrgghhh! < 1122335771 0 :jix!unknown@unknown.invalid PRIVMSG #esoteric :lindi-: helps a lot < 1122335785 0 :jix!unknown@unknown.invalid PRIVMSG #esoteric :m segfault < 1122335827 0 :jix!unknown@unknown.invalid PRIVMSG #esoteric :but wait m