< 1160268157 0 :|wez|!unknown@unknown.invalid QUIT : < 1160268324 0 :jix!unknown@unknown.invalid QUIT :"Bitte waehlen Sie eine Beerdigungnachricht" < 1160269127 0 :GregorR-L!n=GregorR-@c-24-21-138-66.hsd1.mn.comcast.net JOIN :#esoteric < 1160270868 0 :CXI!unknown@unknown.invalid QUIT :Read error: 104 (Connection reset by peer) < 1160270868 0 :CakeProphet!unknown@unknown.invalid QUIT :Connection reset by peer < 1160270926 0 :CXI!n=Sanity@c220-237-14-15.randw1.nsw.optusnet.com.au JOIN :#esoteric < 1160270927 0 :CakeProphet!n=CakeProp@h9.227.213.151.ip.alltel.net JOIN :#esoteric < 1160271560 0 :CXI!unknown@unknown.invalid QUIT :Connection reset by peer < 1160271560 0 :CakeProphet!unknown@unknown.invalid QUIT :Read error: 104 (Connection reset by peer) < 1160271619 0 :CXI!n=Sanity@c220-237-14-15.randw1.nsw.optusnet.com.au JOIN :#esoteric < 1160271623 0 :CakeProphet!n=CakeProp@h9.227.213.151.ip.alltel.net JOIN :#esoteric < 1160271746 0 :GregorR-L!unknown@unknown.invalid PRIVMSG #esoteric :ACTION writes down: CXI and CakeProphet are secretly the same person. < 1160271876 0 :CakeProphet!unknown@unknown.invalid QUIT :Read error: 104 (Connection reset by peer) < 1160271876 0 :CXI!unknown@unknown.invalid QUIT :Read error: 104 (Connection reset by peer) < 1160271929 0 :CakeProphet!n=CakeProp@h9.227.213.151.ip.alltel.net JOIN :#esoteric < 1160271934 0 :CXI!n=Sanity@c220-237-14-15.randw1.nsw.optusnet.com.au JOIN :#esoteric < 1160273919 0 :CXI!unknown@unknown.invalid QUIT :Connection reset by peer < 1160273919 0 :CakeProphet!unknown@unknown.invalid QUIT :Read error: 104 (Connection reset by peer) < 1160273973 0 :CakeProphet!n=CakeProp@h9.227.213.151.ip.alltel.net JOIN :#esoteric < 1160273978 0 :CXI!n=Sanity@c220-237-14-15.randw1.nsw.optusnet.com.au JOIN :#esoteric < 1160275097 0 :ivan`!unknown@unknown.invalid QUIT :" Like VS.net's GUI? Then try HydraIRC -> http://www.hydrairc.com <-" < 1160276129 0 :kipple_!unknown@unknown.invalid QUIT :Read error: 110 (Connection timed out) < 1160277223 0 :ivan`!i=ivan@wikipedia/ivan JOIN :#esoteric < 1160284153 0 :truecoyote!i=truecoyo@host89.201-253-59.telecom.net.ar JOIN :#esoteric < 1160284432 0 :truecoyote!unknown@unknown.invalid PART #esoteric :? < 1160284798 0 :GregorR-L!unknown@unknown.invalid QUIT :Read error: 110 (Connection timed out) < 1160285093 0 :Arrogant!n=scotty@172.orlando-04-05rs.fl.dial-access.att.net JOIN :#esoteric < 1160287761 0 :Asztal!unknown@unknown.invalid QUIT :Read error: 110 (Connection timed out) < 1160288726 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :I just discovered something .. the Linux terminal beep frequency and duration be set with escape sequences < 1160289218 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :I'm following your thought process from that, and am *very* scared. < 1160291838 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :hms? < 1160291846 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :OhwowI'mdelayed < 1160291859 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Indeed. < 1160291864 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :I'm worse. < 1160291879 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :It's taken me at least a day to notice that somehow I'm an op in #gnu. < 1160291988 0 :GregorR-L!n=GregorR-@c-24-21-138-66.hsd1.or.comcast.net JOIN :#esoteric < 1160292775 0 :CakeProphet!unknown@unknown.invalid QUIT :Read error: 104 (Connection reset by peer) < 1160292775 0 :CXI!unknown@unknown.invalid QUIT :Connection reset by peer < 1160292833 0 :CXI!n=Sanity@c220-237-14-15.randw1.nsw.optusnet.com.au JOIN :#esoteric < 1160292841 0 :CakeProphet!n=CakeProp@h9.227.213.151.ip.alltel.net JOIN :#esoteric < 1160294399 0 :clog!unknown@unknown.invalid QUIT :ended < 1160294400 0 :clog!unknown@unknown.invalid JOIN :#esoteric < 1160296246 0 :calamari!unknown@unknown.invalid PART #esoteric :? < 1160296677 0 :Arrogant!unknown@unknown.invalid NICK :robot-smoke < 1160296699 0 :robot-smoke!unknown@unknown.invalid NICK :Arrogant < 1160298493 0 :ivan`!unknown@unknown.invalid QUIT :" HydraIRC -> http://www.hydrairc.com <-" < 1160298798 0 :GregorR-L!unknown@unknown.invalid QUIT :"Leaving" < 1160302001 0 :CakeProphet!unknown@unknown.invalid QUIT :Read error: 104 (Connection reset by peer) < 1160302001 0 :CXI!unknown@unknown.invalid QUIT :Read error: 104 (Connection reset by peer) < 1160302055 0 :CakeProphet!n=CakeProp@h9.227.213.151.ip.alltel.net JOIN :#esoteric < 1160302062 0 :CXI!n=Sanity@c220-237-14-15.randw1.nsw.optusnet.com.au JOIN :#esoteric < 1160302175 0 :CXI!unknown@unknown.invalid QUIT :Read error: 104 (Connection reset by peer) < 1160302175 0 :CakeProphet!unknown@unknown.invalid QUIT :Read error: 104 (Connection reset by peer) < 1160302227 0 :CakeProphet!n=CakeProp@h9.227.213.151.ip.alltel.net JOIN :#esoteric < 1160302256 0 :CXI!n=Sanity@c220-237-14-15.randw1.nsw.optusnet.com.au JOIN :#esoteric < 1160303217 0 :tgwizard!n=tgwizard@c-cb3de155.178-1-64736c10.cust.bredbandsbolaget.se JOIN :#esoteric < 1160304546 0 :puzzlet_!unknown@unknown.invalid QUIT :Remote closed the connection < 1160304818 0 :puzzlet!n=puzzlet@58.77.172.41 JOIN :#esoteric < 1160305184 0 :puzzlet!unknown@unknown.invalid QUIT :Read error: 104 (Connection reset by peer) < 1160305466 0 :puzzlet!n=puzzlet@58.77.172.41 JOIN :#esoteric < 1160306826 0 :tgwizard!unknown@unknown.invalid QUIT :"Leaving" < 1160308261 0 :kipple_!n=kipple@167.80-202-102.nextgentel.com JOIN :#esoteric < 1160308670 0 :jix!n=jix@L6349.l.strato-dslnet.de JOIN :#esoteric < 1160311111 0 :Arrogant!unknown@unknown.invalid QUIT :"Leaving" < 1160312793 0 :ihope!n=foo@c-71-205-100-59.hsd1.mi.comcast.net JOIN :#esoteric < 1160312796 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :[10/4/2006 6:08 PM] Maybe computer engineering is the field for you < 1160312816 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :The quote I've been looking for for the past 10 years. < 1160312821 0 :ihope!unknown@unknown.invalid PRIVMSG #esoteric :Okay, maybe less than that. < 1160312821 0 :oerjan!n=oerjan@hagbart.nvg.ntnu.no JOIN :#esoteric < 1160313529 0 :ihope_!n=foo@c-71-205-100-59.hsd1.mi.comcast.net JOIN :#esoteric < 1160314542 0 :ihope!unknown@unknown.invalid QUIT :Read error: 110 (Connection timed out) < 1160314617 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :bwahaha, my algorithm is not done yet. 255 down to 30 characters now < 1160314660 0 :ihope_!unknown@unknown.invalid PRIVMSG #esoteric :I can represent 255 with only 3 characters. < 1160314682 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :ahem. in non-wrapping brainfuck? < 1160314707 0 :ihope_!unknown@unknown.invalid PRIVMSG #esoteric :No. < 1160316205 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :bah. the "-wrap off" option to egobfi is just rubbish. < 1160317966 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :I can do 255 in one character (using wrapping). ;) < 1160318043 0 :CakeProphet!unknown@unknown.invalid QUIT :Read error: 113 (No route to host) < 1160318305 0 :paparent!unknown@unknown.invalid PRIVMSG #esoteric :hi pikhq < 1160318313 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :'Lo. < 1160318346 0 :paparent!unknown@unknown.invalid PRIVMSG #esoteric :what,s that with with the "255" lol < 1160318353 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Damned if I know. < 1160318364 0 :paparent!unknown@unknown.invalid PRIVMSG #esoteric :255 in 3 characters ... :S < 1160318388 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :ACTION pouts < 1160318644 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :WTF is my computer doing?!? < 1160318658 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :achieving sentience < 1160318663 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :No. . . < 1160318668 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Already did that. < 1160318674 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :$ firefox < 1160318683 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Does not respond to C-c or C-z. < 1160318690 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :$ killall -9 firefox-bin < 1160318695 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Same with that. < 1160318698 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :$ top < 1160318700 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :And that. < 1160318718 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :is the power on? :) < 1160318728 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :I'm using it right now. < 1160318742 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :hm, good point < 1160318761 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :It's like it's decided that fork(); shouldn't be ran. < 1160318778 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :is it out of process space? < 1160318804 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :If it were, it would've had fork(); fail. < 1160318827 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :But fork(); doesn't seem to have really *done* anything at all. < 1160318891 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :use exec then :) < 1160318937 0 :pikhq!unknown@unknown.invalid QUIT :Read error: 104 (Connection reset by peer) < 1160319002 0 :pikhq!n=pikhq@67-21-19-37.clspco.adelphia.net JOIN :#esoteric < 1160322046 0 :Azstal!n=asztal@cpc1-stkn2-0-0-cust919.midd.cable.ntl.com JOIN :#esoteric < 1160322047 0 :Azstal!unknown@unknown.invalid NICK :Asztal < 1160324046 0 :ivan`!i=ivan@wikipedia/ivan JOIN :#esoteric < 1160326478 0 :oerjan!unknown@unknown.invalid QUIT :"CU" < 1160328402 0 :CakeProphet!n=CakeProp@h121.231.213.151.ip.alltel.net JOIN :#esoteric < 1160332420 0 :tgwizard!n=tgwizard@c-cb3de155.178-1-64736c10.cust.bredbandsbolaget.se JOIN :#esoteric < 1160336291 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :ACTION grins insanely: http://www.google.com/codesearch?q=+file:wp-config.php+username&sa=N < 1160336365 0 :kipple_!unknown@unknown.invalid PRIVMSG #esoteric :hah < 1160336428 0 :kipple_!unknown@unknown.invalid PRIVMSG #esoteric :one of the entries: http://www.hogasenborettslag.no/ < 1160336434 0 :kipple_!unknown@unknown.invalid PRIVMSG #esoteric ::D < 1160336520 0 :kipple_!unknown@unknown.invalid PRIVMSG #esoteric :do I smell a lawsuit against google? ;) < 1160336526 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :kipple_: can you read that? < 1160336536 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :If so, what is the site about < 1160336614 0 :kipple_!unknown@unknown.invalid PRIVMSG #esoteric :it's a home page for an appartment complex < 1160336667 0 :kipple_!unknown@unknown.invalid PRIVMSG #esoteric :But I was referring to the english message from a friendly hacker < 1160337049 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :that's really pretty hilarious < 1160337283 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :yeah < 1160338370 0 :FireMoth!n=TimothyF@cpe-72-226-238-250.rochester.res.rr.com JOIN :#esoteric < 1160338978 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :8-S !!! http://www.news.com.au/couriermail/story/0,,20542442-952,00.html < 1160339032 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :ACTION praises ΕΡΙΣ. < 1160339126 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :hm < 1160339835 0 :ihope_!unknown@unknown.invalid PRIVMSG #esoteric :You can't do that because Σ isn't a real letter! < 1160340013 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :ACTION thwaps ihope_. < 1160340133 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :Nowadays it would be Ερισ, instead. < 1160340766 0 :ihope_!unknown@unknown.invalid QUIT :"http://tunes.org/~nef/logs/esoteric/06.08.09" < 1160341109 0 :pikhq!unknown@unknown.invalid QUIT :"leaving" < 1160341146 0 :pikhq!n=pikhq@67-21-19-37.clspco.adelphia.net JOIN :#esoteric < 1160342763 0 :oerjan!n=oerjan@hagbart.nvg.ntnu.no JOIN :#esoteric < 1160342877 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :ACTION *still* can't figure out how to get itoa in BFM :'( < 1160343070 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Probably a bug in my mod macro. . . But still. . . :'( < 1160343204 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :pastebin? < 1160343253 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :or other URL < 1160343260 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Just one question: Do you grok BFM? ;) < 1160343290 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :grok and grok, i thought i read the tcl the other day... < 1160343314 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :so i have a basic idea < 1160343320 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Oh, right. < 1160343388 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :http://en.pastebin.ca/195098 < 1160343442 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :The two macros in there were translated from the ones in BFC, BTW. . . Hopefully, I did the translation correctly. < 1160343550 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :hm... have all the included files been tested? < 1160343585 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Um. . . Argh. < 1160343591 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Not sure I ran the test suite. XD < 1160343756 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :um, what direction does copy x y z copy? and which is the temporary? < 1160343818 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :copy x y z copies x into y, user z as temp. < 1160343824 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :using < 1160343832 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Maybe I should document stdlib a bit. . . XD < 1160343880 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :it would be nice with a standard order of output, input, temp arguments - subtract seems the other way < 1160343904 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :I thought I *had*. . . < 1160343915 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :I might want to look back through, though. < 1160344015 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :from the look of it booland is the same way as copy < 1160344042 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :assuming you don't want to overwrite what was just copied to :) < 1160344055 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Maybe I just screwed up subvar. . . < 1160344078 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :actually mod itself is the same way as subtract < 1160344157 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :perhaps it would be worthwhile to introduce some inner delimiter in macros < 1160344199 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Care to explain? < 1160344247 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :i mean if the syntax was copy v2 < tmp ; tmp1 then the direction would be obvious < 1160344311 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :eh, i mean copy v2 > tmp ; tmp1 of course < 1160344320 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Hmm. . . < 1160344326 0 :jix!unknown@unknown.invalid QUIT :"Bitte waehlen Sie eine Beerdigungnachricht" < 1160344335 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Maybe change macro to take a few different arguments. . . < 1160344360 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :macro {input} {output} {temp} {code} < 1160344389 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Err. < 1160344400 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :macro name {input} {output} {temp} {code} < 1160344410 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :That's actually a *very* good idea. < 1160344441 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :The trick, though, will just be rewriting current code. < 1160344447 0 :tgwizard!unknown@unknown.invalid QUIT :Remote closed the connection < 1160344470 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :does booland preserve its arguments? < 1160344578 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :darn it, i need to read the included files < 1160344595 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :It's part of stdlib in BFM. . . < 1160344613 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :That, BTW, is what the ^ prefix on a sourced file indicates. < 1160345127 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :hm, set is not mentioned on the web page < 1160345154 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :It isn't? Weird. < 1160345178 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :set var num just sets the variable to 0 before running add. < 1160345580 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :i sense a couple of macros that could be added for efficiency < 1160345626 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :addmov and submov, which add and subtract without preserving their argument, thus needing only two < 1160345669 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :addmov can replace move more efficiently when the target is known to be zero < 1160345688 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Working on getting your argument delimiter idea done first. < 1160345702 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :BTW, thank you for being the only person that's not me to care. :p < 1160345718 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :you're welcome :) < 1160345983 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :btw set doesn't need to be built in < 1160346192 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Just a macro clear followed by add. . . I know. . . < 1160346201 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :It's just a bit cleaner builtin, IMO. < 1160346250 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Mmkay. Got argument delimiters in bfm.tcl. < 1160346261 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :and clear doesn't need to be built in either :) < 1160346273 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :It wouldn't be. . . < 1160346279 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :It'd be in stdlib. < 1160346287 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Like I said: just cleaner builtin. < 1160346303 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :how cleaner? the resulting brainfuck is the same < 1160346328 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :From the BFM side, it's cleaner. < 1160346344 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :you could have a prelude module, like in Haskell, which is automatically included < 1160346364 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Either you get macro clear {var} {} {} {while var {subtract var 1}} or macro clear {var} {} {} {comment \[-\]}. < 1160346400 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :i mean the first, of course < 1160346525 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :the last would need a goto var, in any case < 1160346605 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Ah, right. < 1160346616 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :And, it'd be dead on BFMC. ;) < 1160346639 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :i suppose on BFMC, set _would_ be cleaner < 1160346741 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :BFM will never match the efficiency of human-generated code, alas. < 1160346765 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :checked move, copy, subvar, ok, although the last two could use addmov instead of move < 1160346802 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :sure it will, with the addition of addmov and submov :) < 1160346819 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :to avoid unnecessary clearing < 1160346882 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :SimonRC: Given that one can use BFM without any macros (and that this has a one-to-one correspondence with Brainfuck), you're wrong: it can be just as efficient as human-generated code. < 1160346912 0 :SimonRC!unknown@unknown.invalid PRIVMSG #esoteric :ok, point taken < 1160346920 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Even more efficient if one uses BFMC (the stdlib macros have been designed as wrappers around C). ;) < 1160346967 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: Or you could just do hand-expansion inside of those two macros. :p < 1160346975 0 :wooby!n=alan@cpe-66-67-49-66.rochester.res.rr.com JOIN :#esoteric < 1160347076 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :hm ... what we need is a way to remove unnecessary clearing < 1160347129 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :then move would be equivalent to addmov when used with a known temp=0 < 1160347185 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Pointless clearing just makes the code a bit longer; it *doesn't* increase execution time signifigantly. . . < 1160347531 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :hm, booland doesn't need temp0. you can use x instead. < 1160347559 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :. . . You're right. < 1160347595 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Fixed. < 1160347596 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :and you can remove all but the last set temp1 0 < 1160347613 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Again: you're right. < 1160347660 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Those were somewhat hastily written (as should be painfully obvious). . . < 1160347961 0 :Sgeo!unknown@unknown.invalid QUIT :Read error: 104 (Connection reset by peer) < 1160348056 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :http://pikhq.nonlogic.org/bfm.tar.bz2 has the current version (hot off the press). < 1160348085 0 :Sgeo!n=Sgeo@ool-18bf61f7.dyn.optonline.net JOIN :#esoteric < 1160348102 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :wait a moment, i think booland can be improved even more < 1160348119 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :One outstanding bug. . . < 1160348130 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Need to put a COPYING file there, don't I? :p < 1160348237 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: Just edit the new version, and hand me changes, and I'll be very, very happy. :) < 1160348435 0 :ihope!n=foo@c-71-205-100-59.hsd1.mi.comcast.net JOIN :#esoteric < 1160350043 0 :wooby!unknown@unknown.invalid QUIT : < 1160350495 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :it seems to me that bfm lacks a clean way to break out of a loop without setting its var to zero - this makes it difficult to really optimize booland < 1160350529 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :That's because it's very low lev < 1160350531 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :el < 1160350550 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :It's a very simple process to convert from it to Brainfuck. . . < 1160350552 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :yes, but bf itself allows it by suitable use of >< commands < 1160350564 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :And you can do that. . . < 1160350583 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :With much difficulty, of course. < 1160350602 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :problem is i can make no assumption of where the variables are situated with respect to each other < 1160350641 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :and bfm does not give me away to skip from one to the other < 1160350659 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :*a way < 1160350674 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :That's the whole point behind right, left, and the variable current. . . < 1160350677 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :this is a feature request :) < 1160350690 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :. . . Oh. I forgot to bind goto into the slave interpreter, didn't I? < 1160350716 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :goto cannot use variables < 1160350738 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Oh, dur. < 1160350752 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Need to make that an actual command. :p < 1160350785 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :but there is another difficulty < 1160350791 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Which is? < 1160350827 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :in order for goto to work at the end of a while block, it needs to suspend the while's own goto < 1160350864 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :It gets ugly to do that. . . < 1160350866 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :goto var < 1160350871 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :while current { < 1160350879 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :Goto would actually be useful if you could use variables. < 1160350882 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :/* code */ < 1160350892 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :goto var2 < 1160350893 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :} < 1160350920 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :CakeProphet: I just wrote _goto (which is bound as goto into the slave interpreter). . . < 1160350921 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :i forgot about while current, that should work < 1160350934 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :I'd imagine goto also gets messy when you start dealing with class and function defintions. < 1160350941 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :proc goto wasn't bound into the slave interpreter at all. < 1160350961 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :New tarball up. < 1160350982 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :no class and function definitions in bfm, fortunately :) < 1160350989 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :hmm... if there was a built-in function that returned the current line of code... < 1160351002 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :you could assign a variable to the current line of code... for later use in a goto command... < 1160351027 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :CakeProphet: It. Compiles. To. Brainfuck. < 1160351049 0 :CakeProphet!unknown@unknown.invalid PRIVMSG #esoteric :Okay. < 1160351073 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :It's more of a complex assembler than, say, C2BF. ;) < 1160351402 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :hm, i am not sure this works anyhow without placing variables precisely :( < 1160351414 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :What? < 1160351419 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :goto var < 1160351421 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :while var { < 1160351424 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :comment code here < 1160351435 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :goto var2;comment var2=0 < 1160351437 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :} < 1160351453 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :ACTION needs to use a better name than comment for comment blocks :p < 1160351471 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :my booland idea is essentially: set temp 0; goto x; while current { goto temp } < 1160351476 0 :Asztal!unknown@unknown.invalid PRIVMSG #esoteric :raw? < 1160351494 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: That'd work. . . < 1160351556 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :except in order to synchronize back i need to know a relative move that works from both x and temp < 1160351612 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Which it would. < 1160351649 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :The (equivalent) of BFM goto is called for every call into a builtin. < 1160351696 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :say if i knew that temp1 was to the right of x and temp2 to the right of temp < 1160351697 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :One could just as easily make BFM goto as "macro goto {var} {} {} {add var 0}". < 1160351736 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :You don't need to know that. < 1160351762 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :All you need to know is that you can goto x, goto temp1, and goto temp2. < 1160351764 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :i need a way to find out whether i have taken the while branch! < 1160351787 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :. . . Oh. Yeah, that could be a problem. < 1160351796 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :That's a problem in Brainfuck, though. ;) < 1160351821 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :not, if i could set temp1 0 and temp2 1 before, and do right 1 afterwards < 1160351857 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :then a new while current { ... } would only trigger if i was at temp2 < 1160351899 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :That doesn't work at all when one has no clue where the different variables are. . . And the whole point of the macro system is to generalise code. . .