< 1203379211 0 :BrainF!n=BrainF@ool-18bf68ca.dyn.optonline.net JOIN :#esoteric < 1203379211 0 :BrainF!unknown@unknown.invalid PRIVMSG #esoteric :Hi all. I wrote this BF program with the help of a horrible horrible generator I wrote. < 1203379211 0 :BrainF!unknown@unknown.invalid QUIT :Client Quit < 1203379217 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :It's so slow in connecting though < 1203379269 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :I need a better syntax for scripts < 1203379433 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :it's actually pretty cool now that i see it in action < 1203379449 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :oklopol, PSOX? < 1203379467 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :btw. unlambda cannot output any possible byte (right?), can psox be used with it? < 1203379490 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :oklopol, um.. what do you mean by "cannot output any possible byte"? < 1203379500 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :psox seems to need null bytes a lot? < 1203379502 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i mean, zeroes. < 1203379507 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :oklopol, yes < 1203379517 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i don't think you can output that in unlambda.. :< < 1203379518 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: unlambda can output anything in principle < 1203379525 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :hmm < 1203379532 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :you need to have the chars in the source? :P < 1203379536 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :yep < 1203379537 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :. < 1203379541 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :heh < 1203379562 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :my self-interpreter has a table of all the ?x'es < 1203379577 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :(the .x's can be generated from the input using |) < 1203379591 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :it'd be awesome to have a system where just being able to output two different bytes would suffice. < 1203379602 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :psox for dummies < 1203379643 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :hm? < 1203379657 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :heh this means you actually cannot do PSOX with just null-terminated C strings < 1203379662 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i mean, so that those two could be anything... you would have a clever initialization where the language tells psox what it can do. < 1203379689 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :after which an encoding rises somewhat naturally, for languages where not everything is easy to output < 1203379719 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: well who cares about such turing tarpits anyway < 1203379722 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :i think PESOIX or something had such an adjustable I/O encoding at least intended < 1203379753 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :trivial-idiotic way to do it: have a represent 0s and b represent ones, and put in a layer between that and PSOX < 1203379759 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :oerjan, oh? < 1203379798 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo: there was some blurb about the languages needing only some way to _represent_ the required range of numbers, anyhow < 1203379848 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :hm.. I suppose I could make a command line option, like -n < 1203379861 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: that's trivial if external settings are used, but could the program actively ask for an encoding using its limited facilities? < 1203379869 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :-n a would tell the interpreter to subtract ord('a') from each character except those escaped as output < 1203379893 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i mean, could it do that in that vague idea you were describing :P < 1203379900 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Not going to work on it ATM, but it's an idea < 1203379905 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: for languages such as original INTERCAL which has only a _very_ limited I/O format, external settings seem necessary < 1203379950 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: in case nonsense is taken as a calibration sequence, i don't think they are necessary. < 1203379957 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :how limited is intercal? < 1203379972 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :tbh i still don't know much about it :| < 1203379979 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :roman numerals in one direction, explicit english words in the other, or something like that < 1203379993 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :xD < 1203379997 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :good old intercal <3 < 1203380036 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Scary that there exist languages that PSOX doesn't currently support.. < 1203380114 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: but why english, why not sanscrit < 1203380145 0 :slereah_!unknown@unknown.invalid PRIVMSG #esoteric :Well, you can't write sanskrit on a keyboard! < 1203380169 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :you can't? < 1203380171 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :I can write nulls on a keyboard: \x00\x00\x00\x00 < 1203380177 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: i recall a list of supported languages < 1203380191 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :most of which were highly weird < 1203380245 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Can modern INTERCAL do PSOX? < 1203380267 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :And does anyone want to write a decent IRC bot in BF+PSOX? < 1203380277 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :or INTERCAL+PSOX < 1203380277 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :? < 1203380310 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo: modern intercals have binary I/O extensions < 1203380317 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :oerjan, cool < 1203380323 0 :slereah_!unknown@unknown.invalid PRIVMSG #esoteric :I'm already sick, don't try to kill me Sgeo. < 1203380330 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :slereah_, get well soon! < 1203380410 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric : < 1203380410 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :slereah_: of course you can write sanskrit on a keyboard. the script is in UNICODE, and besides is also used for modern Hindi < 1203380420 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :lol, i never thought simulating a fibonacci heap manually could be this boring. < 1203380459 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :if i ever get to teach a class, i'm gonna make 'em pay for this. decrease min WILL FUCKING RECURSE. < 1203380540 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :ACTION has simultaneously found the teacher AND the sadist in him. < 1203380607 0 :slereah_!unknown@unknown.invalid PRIVMSG #esoteric :Will the child molester follow soon? < 1203380711 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :people in general dislike molesting so bad i don't think i'll ever try that. < 1203380738 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :some seem to think getting fucked is actually worse than getting beaten. < 1203380757 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :but then again, some people listen to abba. < 1203380773 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :people are different, in a sick way. < 1203380773 0 :slereah_!unknown@unknown.invalid PRIVMSG #esoteric :What, you don't like ABBA? < 1203380781 0 :slereah_!unknown@unknown.invalid PRIVMSG #esoteric :That's worst than molesting children! < 1203380784 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :it was an example, but no, not really < 1203380811 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :not liking abba might be worse than molesting children, but i don't have to go to jail for it :) < 1203380831 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i think < 1203380834 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :not sure though < 1203380836 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :http://trac2.assembla.com/psox/browser/trunk/utils/TEXT2BF.py < 1203380913 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo: is that a generated generator? < 1203380917 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :it's kinda trivial. < 1203380919 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :oklopol, lol no < 1203380934 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :trivial? < 1203380950 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :well... isn't it? < 1203380952 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :dunno < 1203380955 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :I guess < 1203380964 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :my head is full of dancing oklotrees right now < 1203380982 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :they're a combination of fibonacci trees and pure insanity < 1203380987 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :*heaps < 1203380988 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :lol < 1203381039 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :oklotrees, do not execute extract-min in O(log n), but they look EXPONENTIALLY COOL < 1203381044 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :you should see it < 1203381066 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :nice place for a comma < 1203381286 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i was quite dissappointed though when the professor told fibonacci heaps are one of the weirdest :| < 1203381315 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :with math you always know you can take any sub-subject and there's always 30000 pages of material about it < 1203381341 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i want millions of weird heaps... < 1203381378 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :ACTION is obsessed, once again < 1203381682 0 :Corun|pants!unknown@unknown.invalid NICK :Corun < 1203381735 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :oklopol> my head is full of dancing oklotrees right now < 1203381738 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :oklopol> they're a combination of fibonacci trees and pure insanity < 1203381750 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :ACTION gets Cthulhu mythos associations < 1203381810 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i don't know much about cthulhuism < 1203381825 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i get pop culture a bit slow. < 1203381828 0 :slereah_!unknown@unknown.invalid PRIVMSG #esoteric :It mostly involves dissin' on niggas. < 1203381838 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :xD < 1203381849 0 :slereah_!unknown@unknown.invalid PRIVMSG #esoteric :Well, Cthulhu is 90 years old. < 1203381853 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: believe slereah_. that is safer than the real thing. < 1203381858 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :slereah_: you're one of my favorites :) < 1203381870 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :take or give a few dozen zeros < 1203381876 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :remind me of me < 1203381896 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :hmm < 1203381898 0 :timotiis!unknown@unknown.invalid QUIT :"leaving" < 1203381902 0 :slereah_!unknown@unknown.invalid PRIVMSG #esoteric :Hell, Turing might have read some Cthulhu! < 1203381904 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :not many zeroes to take < 1203381920 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :unless you cound the invisible ones < 1203381923 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :*count < 1203381956 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :the insane ones! < 1203381971 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :TAINTED ZEROES KILL KILL AOIFSDJTGO < 1203381975 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :no, forget those. move on. nothing to see here. < 1203382063 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :hmm... < 1203382079 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Maybe I could make a BfEcho bot/ < 1203382097 0 :slereah_!unknown@unknown.invalid PRIVMSG #esoteric :What would it do! < 1203382110 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Hm, but I'd need to examine the text coming in from the socket < 1203382110 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i think i should make some generic tools for operating on trees, and make a program to randomize tree structures for me < 1203382125 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :There's no builtin IRC stuff, just sockets < 1203382129 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :that would be FUCKING HOT LAVA OH BABY YEAH < 1203382139 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i hope lament isn't awake. < 1203382148 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :oklopol, why? < 1203382171 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo: lament is the banbot of this channel, "fuck" triggers it < 1203382186 0 :slereah_!unknown@unknown.invalid PRIVMSG #esoteric :Fuck you lament < 1203382189 0 :slereah_!unknown@unknown.invalid PRIVMSG #esoteric ::D < 1203382193 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :also flooding and ascii penises. < 1203382193 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :oklopol, that can't be serious, you'd be banned if you were < 1203382202 0 :slereah_!unknown@unknown.invalid PRIVMSG #esoteric :8===D < 1203382203 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :fuck < 1203382203 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Nah; he just has the bot to say 'OMG you said fuck' < 1203382206 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Fuck on < 1203382210 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Fuck. < 1203382217 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Guess he disabled it. < 1203382217 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo: just assume everyone is always kidding ;) < 1203382352 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :you never know quite what to answer when an ex girlfriend tells you they brought a dildo with 10 different vibration modes. < 1203382366 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :we should share more, ppl, this is great < 1203382372 0 :slereah_!unknown@unknown.invalid PRIVMSG #esoteric :"Can I try it?" < 1203382378 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric ::D < 1203382379 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :immibis is the one with the bot < 1203382388 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :she'll prolly suggest that anyway < 1203382392 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :anyway, megoes -> < 1203382394 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :cya < 1203382401 0 :slereah_!unknown@unknown.invalid PRIVMSG #esoteric :Bai. < 1203382416 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :pikhq probably swears more than oklopol, though when oklopol swears its in a tightly concentrated space < 1203382421 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :i just swear all the fucking time < 1203382434 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :ehird`: I also curse multilingually. < 1203382443 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: That must be..interesting < 1203382446 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i mostly swear for the fuckarous fuck of it < 1203382465 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :10 different modes? is this a dildo or a musical instrument? < 1203382469 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :How often do I swear? Almost never? < 1203382487 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo: Never. < 1203382487 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :(could be a combination of course) < 1203382488 0 :slereah_!unknown@unknown.invalid PRIVMSG #esoteric :Can you combine them? < 1203382501 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: that's what i wondered too... i'm fairly sure the human pussy only distinguishes like 3... < 1203382502 0 :slereah_!unknown@unknown.invalid PRIVMSG #esoteric :Maybe find the resonance frequency of your prostate or something! < 1203382506 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :ehird`, well I swore just before, after the mention of lament.. < 1203382518 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :"And now, Beethovens' Fifth, in the key of C, on the Dildo." < 1203382570 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :well, yes < 1203382579 0 :slereah_!unknown@unknown.invalid PRIVMSG #esoteric :Maybe you could hook it up to your computer, and connect it to some game. < 1203382612 0 :slereah_!unknown@unknown.invalid PRIVMSG #esoteric :"TEN THOUSAND POINTS, ONE ORGASM" < 1203382741 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :I'm not quite sure how to test server sockets < 1203383611 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :ACTION bans slereah_  < 1203383619 0 :slereah_!unknown@unknown.invalid PRIVMSG #esoteric :Noooooes < 1203384284 0 :Corun!unknown@unknown.invalid QUIT :"This computer has gone to sleep" < 1203384294 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :lament: fuck < 1203384363 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :my punishment shall be swift < 1203384371 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :and, er, horrible < 1203384446 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :you will cry like a japanese schoolgirl being raped by a giant radioactive octopus < 1203384476 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :wouldn't that be _rewarding_ oklopol though < 1203384593 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :I thought that the tentacle rape was actually a high honor? < 1203384687 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :wanna find out? < 1203384712 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :ACTION wiggles his tentacles < 1203384744 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :ACTION scratches out lament's species on his #esoteric score card < 1203385028 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :i meant "his or her tentacles", of course < 1203385036 0 :Corun!n=Corun@halls-129-31-72-183.hor.ic.ac.uk JOIN :#esoteric < 1203385077 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :what, just two possible sexes? < 1203385097 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :i won't bother scratching out "home planet", then. < 1203385220 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :"his or her" is one sex! < 1203385298 0 :Tritonio_!unknown@unknown.invalid PRIVMSG #esoteric :hello < 1203385310 0 :Tritonio_!unknown@unknown.invalid PRIVMSG #esoteric :everyone < 1203385320 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :Tritonio_: quick < 1203385323 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :you must escape < 1203385330 0 :Tritonio_!unknown@unknown.invalid PRIVMSG #esoteric :huh? < 1203385332 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :lament is raping everyone with his or her tentacles < 1203385336 0 :Tritonio_!unknown@unknown.invalid PRIVMSG #esoteric :lol < 1203385360 0 :Tritonio_!unknown@unknown.invalid PRIVMSG #esoteric :i read about the radioactive octapus and i really loled... < 1203385362 0 :Tritonio_!unknown@unknown.invalid PRIVMSG #esoteric ::-P < 1203385426 0 :Tritonio_!unknown@unknown.invalid PRIVMSG #esoteric :btw i updated the brainfuck algorithms page on the wiki < 1203385447 0 :Tritonio_!unknown@unknown.invalid PRIVMSG #esoteric :i would be really happy if someone checked if the update is ok. :-) < 1203385600 0 :Tritonio_!unknown@unknown.invalid PRIVMSG #esoteric :how often does calamari log in here?? < 1203385661 0 :slereah_!unknown@unknown.invalid PRIVMSG #esoteric :Not enough that I can remember him < 1203385724 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :er i don't think it was _that_ long ago he was here? < 1203385772 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :Tritonio_: you prefer to be raped by squid? < 1203385844 0 :Tritonio_!unknown@unknown.invalid PRIVMSG #esoteric :lament, i am reallllllyyyy drunk right now so i am not even sure what a squid is < 1203385857 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :Tritonio_: the same animal as "calamari" < 1203385864 0 :Tritonio_!unknown@unknown.invalid PRIVMSG #esoteric :although i think it is that ocapus like thing that spits ink < 1203385886 0 :Tritonio_!unknown@unknown.invalid PRIVMSG #esoteric :oh yes... and calamari is a greek word too < 1203385892 0 :Tritonio_!unknown@unknown.invalid PRIVMSG #esoteric :i should now... :-D < 1203385903 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :he was here yesterday < 1203385906 0 :Tritonio_!unknown@unknown.invalid PRIVMSG #esoteric :i know < 1203385920 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :Tritonio_: dsof, slo utiua? < 1203385928 0 :Tritonio_!unknown@unknown.invalid PRIVMSG #esoteric :we talked yesterday about that 1 byte / array cell table implementation i made < 1203385936 0 :Tritonio_!unknown@unknown.invalid PRIVMSG #esoteric :ehird`, WTF? < 1203385940 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :Tritonio_: oh. i see thn..e < 1203385985 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :Trinioo_t: So, whtear euaf i? < 1203385990 0 :Tritonio_!unknown@unknown.invalid PRIVMSG #esoteric :calamari told me to update the esolang wiki with the new algo... but i want to know if i must do something with calamari's implementation on the same page < 1203386006 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :Airu. Ajgfunp, xkauf. ua. < 1203386018 0 :Tritonio_!unknown@unknown.invalid PRIVMSG #esoteric :ehird`, lol < 1203386030 0 :Tritonio_!unknown@unknown.invalid PRIVMSG #esoteric :whatever... maybe i must go to sleep..... < 1203386031 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :Tritonio_: Auuee! If you kanu, tigo aodi. < 1203386048 0 :Tritonio_!unknown@unknown.invalid PRIVMSG #esoteric :suuuu... nigGOODhtt < 1203386054 0 :Tritonio_!unknown@unknown.invalid PRIVMSG #esoteric :re < 1203386054 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :sopaof ubnajd. < 1203386057 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :fo. < 1203386061 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :ehird`: I agrue. You puroesj trjacgr. < 1203386062 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :diaoc oasirng ioaisd. < 1203386073 0 :Corun!unknown@unknown.invalid QUIT :"Delight of Turkishness" < 1203386086 0 :Tritonio_!unknown@unknown.invalid PRIVMSG #esoteric :>[>>>[-<<<<+>>>>]<[->+<]<[->+<]<[->+<]>-] < 1203386087 0 :Tritonio_!unknown@unknown.invalid PRIVMSG #esoteric :>>>[-]<[->+<]< < 1203386087 0 :Tritonio_!unknown@unknown.invalid PRIVMSG #esoteric :[[-<+>]<<<[->>>>+<<<<]>>-]<< < 1203386088 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :Tritonio_: scose daneroush rcga? < 1203386101 0 :Tritonio_!unknown@unknown.invalid PRIVMSG #esoteric :is this a REAL language? < 1203386110 0 :Tritonio_!unknown@unknown.invalid PRIVMSG #esoteric :or jist ehird'ish? < 1203386112 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :Tritonio_: It's enlgirs.. < 1203386130 0 :Tritonio_!unknown@unknown.invalid PRIVMSG #esoteric :c i oh < 1203386161 0 :Tritonio_!unknown@unknown.invalid PRIVMSG #esoteric :enoyreve thgin doog yawyna < 1203386168 0 :Tritonio_!unknown@unknown.invalid PRIVMSG #esoteric :eyb < 1203386177 0 :Tritonio_!unknown@unknown.invalid PRIVMSG #esoteric :)-: < 1203386178 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :reebyebe < 1203386181 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :Tritonio_: ??? Irua. I dnot udnajrtsnd ua. < 1203386192 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :lament: LIES. y nt befol skwat. < 1203386204 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: GC! < 1203386212 0 :Tritonio_!unknown@unknown.invalid PRIVMSG #esoteric :i splipli dnot ndagerstand u < 1203386226 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :lament: Auu, I dnta thnkgi I will undnernstnd thtat for lngo.. < 1203386240 0 :Tritonio_!unknown@unknown.invalid PRIVMSG #esoteric :will someone Ckeck the UwPiDkAiTE < 1203386241 0 :Tritonio_!unknown@unknown.invalid PRIVMSG #esoteric :? < 1203386264 0 :Tritonio_!unknown@unknown.invalid PRIVMSG #esoteric :rhapsody are simply perfect < 1203386265 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :are you drunk or what? You're talking nonsense. < 1203386270 0 :Tritonio_!unknown@unknown.invalid PRIVMSG #esoteric :i am < 1203386277 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :jglu? < 1203386281 0 :Tritonio_!unknown@unknown.invalid PRIVMSG #esoteric :em < 1203386290 0 :Tritonio_!unknown@unknown.invalid PRIVMSG #esoteric :loipon tha arxiso kai ego na milao ellinika < 1203386300 0 :Tritonio_!unknown@unknown.invalid PRIVMSG #esoteric :giati poly moy ta priksate an kai exo psofisei sta geleia < 1203386319 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :Tritonio_: lkos fin to me < 1203386321 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :Aufu... iaminitan, AWESOME!!! < 1203386321 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :perdon, yo no hablo chino < 1203386332 0 :Tritonio_!unknown@unknown.invalid PRIVMSG #esoteric :kala den pame kala edo mesa.... < 1203386335 0 :Tritonio_!unknown@unknown.invalid PRIVMSG #esoteric :xaxaxaxa < 1203386354 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :Nå går det over alle støvleskaft her < 1203386357 0 :Tritonio_!unknown@unknown.invalid PRIVMSG #esoteric :oloi oi kamenoi toy eleytherokomboy se ena domatio < 1203386365 0 :Tritonio_!unknown@unknown.invalid PRIVMSG #esoteric :gamato < 1203386376 0 :Tritonio_!unknown@unknown.invalid PRIVMSG #esoteric :kalinixta kayles < 1203386380 0 :Tritonio_!unknown@unknown.invalid PRIVMSG #esoteric :=goodnight < 1203386386 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :Wuaut? Drnkju, I think you arear. ... you don't smem to be ablkgl to undasnernst su..... < 1203386386 0 :Tritonio_!unknown@unknown.invalid PRIVMSG #esoteric ::-) < 1203386388 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :jag alska bananer < 1203386400 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :Yuo shdoul go tobde.. < 1203386404 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :lament: älskar < 1203386438 0 :Tritonio_!unknown@unknown.invalid PRIVMSG #esoteric :ACTION 's nonsense filter log's him out automaticaly. < 1203386455 0 :Tritonio_!unknown@unknown.invalid PRIVMSG #esoteric :PS: we are all european here? < 1203386483 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :i'm Pacific. < 1203386490 0 :slereah_!unknown@unknown.invalid PRIVMSG #esoteric :I'm from the moon. < 1203386495 0 :Tritonio_!unknown@unknown.invalid PRIVMSG #esoteric :what;s that? < 1203386496 0 :Tritonio_!unknown@unknown.invalid PRIVMSG #esoteric :lamen < 1203386498 0 :Tritonio_!unknown@unknown.invalid PRIVMSG #esoteric :lament < 1203386504 0 :slereah_!unknown@unknown.invalid PRIVMSG #esoteric :It's a small rock around the earth < 1203386514 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :I live in the Pacific ocean. < 1203386518 0 :Tritonio_!unknown@unknown.invalid PRIVMSG #esoteric :i know about the moon. my grandma was from there < 1203386525 0 :Tritonio_!unknown@unknown.invalid PRIVMSG #esoteric :lament, i c < 1203386537 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :slereah_: don't be ridiculous. the earth is far too large for a small rock to fit around it. < 1203386554 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :Tritonio_: We couldn't trick you. < 1203386555 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric ::( < 1203386562 0 :Tritonio_!unknown@unknown.invalid PRIVMSG #esoteric :oerjan, SDOING < 1203386569 0 :Tritonio_!unknown@unknown.invalid PRIVMSG #esoteric :lolol < 1203386571 0 :Tritonio_!unknown@unknown.invalid PRIVMSG #esoteric :anyway < 1203386578 0 :Tritonio_!unknown@unknown.invalid PRIVMSG #esoteric :see you 2morrooooooooooooooow < 1203386594 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: i think he meant inside, not around < 1203386640 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :oh < 1203386671 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :but there's a complicated system of mirrors which makes it appear in the sky < 1203386799 0 :slereah_!unknown@unknown.invalid PRIVMSG #esoteric :It's the moon conspiracy. < 1203386815 0 :slereah_!unknown@unknown.invalid PRIVMSG #esoteric :Man didn't land on the moon, he fell on it. < 1203387714 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :I'm American < 1203387737 0 :kwertii!n=kwertii@c-71-202-121-102.hsd1.ca.comcast.net JOIN :#esoteric < 1203387740 0 :kwertii!unknown@unknown.invalid QUIT :Remote closed the connection < 1203387748 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo: Who asked? < 1203387755 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric : PS: we are all european here? < 1203387768 0 :kwertii!n=kwertii@c-71-202-121-102.hsd1.ca.comcast.net JOIN :#esoteric < 1203387824 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :eso.b < 1203387828 0 :BrainF!n=BrainF@ool-18bf68ca.dyn.optonline.net JOIN :#esoteric < 1203387828 0 :BrainF!unknown@unknown.invalid PRIVMSG #esoteric :Hi all. I wrote this BF program with the help of a horrible horrible generator I wrote. < 1203387828 0 :BrainF!unknown@unknown.invalid QUIT :Client Quit < 1203387925 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :http://pastebin.com/m6f8e6cdc < 1203388021 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :And a more readable version: http://pastebin.com/m58f2748 < 1203388436 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :ACTION modifies the generator to take the scripts in a simpler form and also to automatically add linebreaks < 1203388865 0 :ehird`!unknown@unknown.invalid QUIT :"K-Lined by peer" < 1203389833 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Hm, I wonder if I can make a text generator that uses up N number of cells < 1203390215 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :ACTION is too lazy < 1203390223 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :22 packets transmitted, 2 received, 90% packet loss, time 21014ms < 1203390228 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Someone out there hates me. < 1203390263 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :pikhq, are you going to try sockets? < 1203390267 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Sockets are working now >.> < 1203390272 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :I tested them in here < 1203390279 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :At least, writing to sockets < 1203390287 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :I haven't tested server sockets or UDP or anything < 1203390295 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :And I think I might need to add a function < 1203391483 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :But still, I've connected to IRC in Brainfuc < 1203391487 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Brainfuck < 1203392980 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :ACTION pokes pikhq  < 1203392987 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Ok, File domain thoughts: < 1203393002 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Directories gotten by the equiv. of LS are represented as FDs < 1203393013 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Except seeking is per file < 1203393035 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :the first byte in each entry is whether the entry is a file or a directory < 1203393206 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :pikhq, are you alive? oerjan, GregorR? < 1203393221 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :Well, I'm undead. < 1203393223 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :That's close enough. < 1203393233 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :!(dead) < 1203393244 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :No, not NOT dead. < 1203393252 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :UNdead < 1203393261 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :It can't be represented by simple boolean logic. < 1203393277 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Fine, then. < 1203393303 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :enum gregor {DEAD, NOTDEAD, UNDEAD}; < 1203393304 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Is my scheme ok? < 1203393309 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :We will call it, Gregorian logic. < 1203393324 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Or should I have directories separate from the FD scheme? < 1203393329 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo: Idonno, are you coming from Elisp or CL? < 1203393341 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :(hyuck hyuck hyuck) < 1203393406 0 :GregorR!unknown@unknown.invalid PRIVMSG #esoteric :So, rather than having a readdir call, you just have a stream of data in a predefined pattern? < 1203393447 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :BRAINS... < 1203393491 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :GregorR, I think it is a readdir call of sorts.. < 1203394146 0 :kwertii!unknown@unknown.invalid QUIT :kornbluth.freenode.net irc.freenode.net < 1203394146 0 :puzzlet!unknown@unknown.invalid QUIT :kornbluth.freenode.net irc.freenode.net < 1203394146 0 :lifthrasiir!unknown@unknown.invalid QUIT :kornbluth.freenode.net irc.freenode.net < 1203394148 0 :BMeph!unknown@unknown.invalid QUIT :kornbluth.freenode.net irc.freenode.net < 1203394148 0 :RodgerTheGreat!unknown@unknown.invalid QUIT :kornbluth.freenode.net irc.freenode.net < 1203394148 0 :sekhmet!unknown@unknown.invalid QUIT :kornbluth.freenode.net irc.freenode.net < 1203394148 0 :slereah_!unknown@unknown.invalid QUIT :kornbluth.freenode.net irc.freenode.net < 1203394148 0 :Sgeo!unknown@unknown.invalid QUIT :kornbluth.freenode.net irc.freenode.net < 1203394148 0 :sebbu!unknown@unknown.invalid QUIT :kornbluth.freenode.net irc.freenode.net < 1203394148 0 :AnMaster!unknown@unknown.invalid QUIT :kornbluth.freenode.net irc.freenode.net < 1203394149 0 :Tritonio_!unknown@unknown.invalid QUIT :kornbluth.freenode.net irc.freenode.net < 1203394149 0 :bsmntbombdood!unknown@unknown.invalid QUIT :kornbluth.freenode.net irc.freenode.net < 1203394151 0 :oklopol!unknown@unknown.invalid QUIT :kornbluth.freenode.net irc.freenode.net < 1203394151 0 :cmeme!unknown@unknown.invalid QUIT :kornbluth.freenode.net irc.freenode.net < 1203394151 0 :GregorR!unknown@unknown.invalid QUIT :kornbluth.freenode.net irc.freenode.net < 1203394152 0 :EgoBot!unknown@unknown.invalid QUIT :kornbluth.freenode.net irc.freenode.net < 1203394152 0 :Overand!unknown@unknown.invalid QUIT :kornbluth.freenode.net irc.freenode.net < 1203394152 0 :pikhq!unknown@unknown.invalid QUIT :kornbluth.freenode.net irc.freenode.net < 1203394152 0 :lament!unknown@unknown.invalid QUIT :kornbluth.freenode.net irc.freenode.net < 1203394152 0 :johnl!unknown@unknown.invalid QUIT :kornbluth.freenode.net irc.freenode.net < 1203394153 0 :atsampson!unknown@unknown.invalid QUIT :kornbluth.freenode.net irc.freenode.net < 1203394153 0 :cherez!unknown@unknown.invalid QUIT :kornbluth.freenode.net irc.freenode.net < 1203394153 0 :mtve!unknown@unknown.invalid QUIT :kornbluth.freenode.net irc.freenode.net < 1203394154 0 :SimonRC!unknown@unknown.invalid QUIT :kornbluth.freenode.net irc.freenode.net < 1203394210 0 :kwertii!n=kwertii@c-71-202-121-102.hsd1.ca.comcast.net JOIN :#esoteric < 1203394210 0 :slereah_!n=slereah@ANantes-252-1-34-30.w82-126.abo.wanadoo.fr JOIN :#esoteric < 1203394210 0 :pikhq!n=pikhq@209.248.124.243 JOIN :#esoteric < 1203394210 0 :Sgeo!n=Anonymou@ool-18bf68ca.dyn.optonline.net JOIN :#esoteric < 1203394210 0 :BMeph!n=chatzill@adsl-76-212-202-40.dsl.sndg02.sbcglobal.net JOIN :#esoteric < 1203394210 0 :Tritonio_!n=Tritonio@150.140.225.238 JOIN :#esoteric < 1203394210 0 :sebbu!n=sebbu@ADijon-152-1-87-144.w81-49.abo.wanadoo.fr JOIN :#esoteric < 1203394210 0 :bsmntbombdood!n=gavin@75-166-180-115.hlrn.qwest.net JOIN :#esoteric < 1203394210 0 :puzzlet!n=puzzlet@147.46.241.160 JOIN :#esoteric < 1203394210 0 :lament!n=lament@S010600110999ad06.vc.shawcable.net JOIN :#esoteric < 1203394210 0 :RodgerTheGreat!n=Rodger@wads-5-233-27.resnet.mtu.edu JOIN :#esoteric < 1203394210 0 :EgoBot!n=EgoBot@c-24-22-4-68.hsd1.mn.comcast.net JOIN :#esoteric < 1203394210 0 :oklopol!n=ville@194.251.103.33 JOIN :#esoteric < 1203394210 0 :atsampson!n=ats@7hw.poik.net JOIN :#esoteric < 1203394210 0 :lifthrasiir!n=lifthras@haje8.kaist.ac.kr JOIN :#esoteric < 1203394210 0 :AnMaster!n=AnMaster@unaffiliated/anmaster JOIN :#esoteric < 1203394210 0 :mtve!i=mtve@mtve.vm.jvds.com JOIN :#esoteric < 1203394210 0 :Overand!i=overand@dissociative.net JOIN :#esoteric < 1203394210 0 :cmeme!n=cmeme@boa.b9.com JOIN :#esoteric < 1203394210 0 :GregorR!n=gregor@c-24-22-4-68.hsd1.mn.comcast.net JOIN :#esoteric < 1203394210 0 :SimonRC!n=sc@fof.durge.org JOIN :#esoteric < 1203394210 0 :johnl!i=johnl@johnl.org JOIN :#esoteric < 1203394210 0 :sekhmet!n=pez@wilug/madlug/sekhmet JOIN :#esoteric < 1203394210 0 :cherez!n=cherez@r11snw275.device.mst.edu JOIN :#esoteric < 1203394332 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :ev5rn'slive? < 1203394344 0 :slereah_!unknown@unknown.invalid PRIVMSG #esoteric :wut? < 1203394365 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :u should srr me now in my seat < 1203395136 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :ACTION sits back up in his chair < 1203395490 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Hm, pikhq GregorR should the mkdir function fail if there's already such a directory, or not? < 1203397803 0 :Asztal!n=asztal@cpc1-stkn2-0-0-cust786.midd.cable.ntl.com JOIN :#esoteric < 1203397842 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Hi Asztal < 1203397857 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Watch this: < 1203397865 0 :Asztal!unknown@unknown.invalid PRIVMSG #esoteric ::o < 1203397871 0 :BrainF!n=BrainF@ool-18bf68ca.dyn.optonline.net JOIN :#esoteric < 1203397871 0 :BrainF!unknown@unknown.invalid PRIVMSG #esoteric :Hi all. I wrote this BF program with the help of a horrible horrible generator I wrote. < 1203397871 0 :BrainF!unknown@unknown.invalid QUIT :Client Quit < 1203397899 0 :Asztal!unknown@unknown.invalid PRIVMSG #esoteric :I'm intrigued. < 1203397919 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :At a BF program going online? < 1203397957 0 :Asztal!unknown@unknown.invalid PRIVMSG #esoteric :Yes. Does it have its input/output hooked up to a socket? < 1203397997 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Not quite < 1203398004 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :It uses a thing called PSOX < 1203398011 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :http://esolangs.org/wiki/PSOX < 1203398023 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Currently has sockets < 1203398051 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :erm, sockets and HTTP < 1203398073 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :It will also soon support file access < 1203398119 0 :immibis!n=immibis@125-236-142-139.broadband-telecom.global-gateway.net.nz JOIN :#esoteric < 1203398155 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Hi immibis. Did you see my latest PSOX demo? < 1203398188 0 :immibis!unknown@unknown.invalid PRIVMSG #esoteric :no. i'm not interested in psox. < 1203398245 0 :BrainF!n=BrainF@ool-18bf68ca.dyn.optonline.net JOIN :#esoteric < 1203398245 0 :BrainF!unknown@unknown.invalid PRIVMSG #esoteric :Hi all. I wrote this BF program with the help of a horrible horrible generator I wrote. < 1203398245 0 :BrainF!unknown@unknown.invalid QUIT :Client Quit < 1203398333 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :ACTION goes to change the program I but. < 1203398336 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :a bit < 1203398349 0 :immibis!unknown@unknown.invalid PRIVMSG #esoteric :lol < 1203398479 0 :BrainF!n=SgBrainf@ool-18bf68ca.dyn.optonline.net JOIN :#esoteric < 1203398479 0 :BrainF!unknown@unknown.invalid PRIVMSG #esoteric :Hi all. This client is written in Brainfuck (albeit written with a generator), believe it or not. It uses PSOX. You can get information about PSOX at http://esolangs.org/wiki/PSOX . < 1203398479 0 :BrainF!unknown@unknown.invalid QUIT :Client Quit < 1203398488 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :grr < 1203398588 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Why is it so slow? < 1203398590 0 :immibis!unknown@unknown.invalid PRIVMSG #esoteric :you don't need psox for that. "mkfifo irc_fifo; bf irc_bot.bf < irc_fifo | nc irc.freenode.net 6667 > irc_fifo" < 1203398600 0 :immibis!unknown@unknown.invalid PRIVMSG #esoteric :because it's brainfuck? < 1203398641 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :immibis: But that's not what he's doing. < 1203398682 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :He's got a fancy API. ;) < 1203398688 0 :immibis!unknown@unknown.invalid PRIVMSG #esoteric :no, it isn't. but he doesn't need psox to connect to a remote server, send commands, and read responses. < 1203398714 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :immibis, for the client to choose the server, yes it does < 1203398737 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Let's say, hypothetically, he wrote an IRC client in Brainfuck. < 1203398748 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :(which is quite possible, if you're sufficiently insane). < 1203398758 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Would you be more impressed with that? < 1203398781 0 :immibis!unknown@unknown.invalid PRIVMSG #esoteric :sgeo: I'm sure that could be done with a bash script too. < 1203398794 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :immibis, but I'm doing it with Brainfuck < 1203398834 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :oh, you mean BF controlling the server < 1203398839 0 :immibis!unknown@unknown.invalid PRIVMSG #esoteric :mkfifo irc_fifo; bf irc_bot.bf < irc_fifo > >( read server port ; nc $server $port > irc_fifo) < 1203398847 0 :BrainF!n=SgBrainf@ool-18bf68ca.dyn.optonline.net JOIN :#esoteric < 1203398847 0 :BrainF!unknown@unknown.invalid PRIVMSG #esoteric :Hi all. This client is written in Brainfuck (albeit written with a generator), believe it or not. It uses PSOX. You can get information about PSOX at http://esolangs.org/wiki/PSOX . < 1203398847 0 :BrainF!unknown@unknown.invalid QUIT :Client Quit < 1203398862 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Why does it work when I have the nickname be BrainF but not SgBrainfuck? < 1203398873 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Erroneous nickname < 1203398918 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :The script for BrainF: http://pastebin.com/d51adfde7 < 1203398954 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :The first line is PSOX-Init < 1203398958 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :The second line: < 1203398971 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :0x00 0x08 0x00 represents calling function 0x00 in domain 0x08 < 1203398987 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :The 0x00 after that represents TCP v. UDP < 1203398997 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :0x1A 0x0B is the port < 1203399012 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Then the next part is the address < 1203399015 0 :immibis!unknown@unknown.invalid QUIT :Remote closed the connection < 1203399018 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :and 0x0A terminates all functions < 1203399033 0 :immibis!n=immibis@125-236-142-139.broadband-telecom.global-gateway.net.nz JOIN :#esoteric < 1203399041 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :wb < 1203399045 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric : and 0x0A terminates all functions < 1203399075 0 :immibis!unknown@unknown.invalid PRIVMSG #esoteric :the last message i got from you was [18:27] oh, you mean BF controlling the server < 1203399087 0 :immibis!unknown@unknown.invalid PRIVMSG #esoteric :not sure what you meant by that tho < 1203399226 0 :immibis!unknown@unknown.invalid PRIVMSG #esoteric :what's 0x00 0x02 0x10 0x04? < 1203399230 0 :immibis!unknown@unknown.invalid PRIVMSG #esoteric :never mind, gtg < 1203399232 0 :immibis!unknown@unknown.invalid QUIT :Client Quit < 1203399236 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Bye immibis < 1203399278 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :For anyone who wants to read in the logs: the function 0x10 in domain 0x02 switches where output goes to. In this case, we're switching to 0x04 because that's where the "file descriptor" for the socket was made < 1203399285 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :0x04 was the first available FD slot < 1203399318 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :0x00 is current outFD, 0x01 is current inFD, 0x02 is stdout, 0x03 is stdin < 1203399331 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Then the next lines simply output the necessary commands < 1203399383 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo: my guess is "fuck" is censored in nicknames < 1203399400 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Indeed < 1203399589 0 :BrainF!n=SgBrainf@ool-18bf68ca.dyn.optonline.net JOIN :#esoteric < 1203399589 0 :BrainF!unknown@unknown.invalid PRIVMSG #esoteric :Hi all. This client is written in Brainfuck (albeit written with a generator), believe it or not. It uses PSOX. You can get information about PSOX at http://esolangs.org/wiki/PSOX . < 1203399589 0 :BrainF!unknown@unknown.invalid QUIT :Client Quit < 1203400662 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :I guess I really should go to sleep now < 1203400910 0 :oerjan!unknown@unknown.invalid QUIT :"Later" < 1203402244 0 :devicenull!n=devicenu@rh-laureln-cs1-129-122.njit.edu JOIN :#esoteric < 1203402262 0 :BrainF!n=SgBrainf@ool-18bf68ca.dyn.optonline.net JOIN :#esoteric < 1203402262 0 :BrainF!unknown@unknown.invalid PRIVMSG #esoteric :Hi all. This client is written in Brainfuck (albeit written with a generator), believe it or not. It uses PSOX. You can get information about PSOX at http://esolangs.org/wiki/PSOX . < 1203402262 0 :BrainF!unknown@unknown.invalid QUIT :Client Quit < 1203402302 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric ::D < 1203402302 0 :habnabit!n=habnabit@cust-65-98-205-68.static.o1.com JOIN :#esoteric < 1203402316 0 :BrainF!n=SgBrainf@ool-18bf68ca.dyn.optonline.net JOIN :#esoteric < 1203402316 0 :BrainF!unknown@unknown.invalid PRIVMSG #esoteric :Hi all. This client is written in Brainfuck (albeit written with a generator), believe it or not. It uses PSOX. You can get information about PSOX at http://esolangs.org/wiki/PSOX . < 1203402316 0 :BrainF!unknown@unknown.invalid QUIT :Client Quit < 1203402331 0 :devicenull!unknown@unknown.invalid PART #esoteric :? < 1203402341 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :The script that I fed to the generator is at http://pastebin.com/d51adfde7 < 1203402488 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :I should get going now < 1203404017 0 :Sgeo!unknown@unknown.invalid QUIT :Read error: 110 (Connection timed out) < 1203405650 0 :bsmntbombdood!unknown@unknown.invalid QUIT :Remote closed the connection < 1203406282 0 :kwertii!unknown@unknown.invalid QUIT :"bye" < 1203406558 0 :BMeph!unknown@unknown.invalid QUIT :"calls it a night" < 1203407999 0 :clog!unknown@unknown.invalid QUIT :ended < 1203408000 0 :clog!unknown@unknown.invalid JOIN :#esoteric < 1203408097 0 :olsner!n=salparot@cust.fiber-lan.vnet.lk.85.194.50.194.stunet.se JOIN :#esoteric < 1203408540 0 :Sukoshi`!n=Blah@user-3cf84np.dsl.mindspring.com JOIN :#esoteric < 1203408561 0 :Sukoshi`!unknown@unknown.invalid PRIVMSG #esoteric :Yo. < 1203408762 0 :slereah_!unknown@unknown.invalid PRIVMSG #esoteric :Hi. < 1203408776 0 :Sukoshi`!unknown@unknown.invalid PRIVMSG #esoteric :Hi. < 1203408791 0 :Sukoshi`!unknown@unknown.invalid PRIVMSG #esoteric :Is anyone here enough of a loser to go on Direct Connect networks? < 1203410287 0 :olsner!unknown@unknown.invalid QUIT :"Leaving" < 1203412219 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :Sukoshi`: i'm enough of a loser for that < 1203412226 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i have other reasons not to go on them < 1203412558 0 :habnabit!unknown@unknown.invalid QUIT :Read error: 110 (Connection timed out) < 1203413029 0 :Sukoshi`!unknown@unknown.invalid PRIVMSG #esoteric :I was wondering because I'm writing a DC client. < 1203417623 0 :slereah_!unknown@unknown.invalid PRIVMSG #esoteric :I used to. < 1203417635 0 :slereah_!unknown@unknown.invalid PRIVMSG #esoteric :But really, it's now not very useful. < 1203417851 0 :Sukoshi`!unknown@unknown.invalid PRIVMSG #esoteric :I used to longz agoz. < 1203417858 0 :Sukoshi`!unknown@unknown.invalid PRIVMSG #esoteric :Like 6-7 years ago. < 1203418863 0 :jix!i=jix@78.47.212.92 JOIN :#esoteric < 1203419389 0 :Tritonio_!unknown@unknown.invalid PRIVMSG #esoteric :dc sucks... < 1203419847 0 :Corun!n=Corun@halls-129-31-72-183.hor.ic.ac.uk JOIN :#esoteric < 1203420065 0 :Sukoshi`!unknown@unknown.invalid PRIVMSG #esoteric :It does. < 1203420108 0 :Sukoshi`!unknown@unknown.invalid PRIVMSG #esoteric :The protocol was written by an HS student who used terms like $ValidateDenide and $LogedIn < 1203420218 0 :Tritonio_!unknown@unknown.invalid PRIVMSG #esoteric :HS=? < 1203420224 0 :Tritonio_!unknown@unknown.invalid PRIVMSG #esoteric :high school? < 1203420241 0 :Tritonio_!unknown@unknown.invalid PRIVMSG #esoteric :anyway it sucks because it's nothing new... it is server based < 1203420268 0 :Tritonio_!unknown@unknown.invalid PRIVMSG #esoteric :there are no firewall2firewall conections.... < 1203420269 0 :Tritonio_!unknown@unknown.invalid PRIVMSG #esoteric :etc < 1203420290 0 :Sukoshi`!unknown@unknown.invalid PRIVMSG #esoteric :High School. < 1203420293 0 :Sukoshi`!unknown@unknown.invalid PRIVMSG #esoteric :What ? < 1203420300 0 :Sukoshi`!unknown@unknown.invalid PRIVMSG #esoteric :How can a firewall connect to a firewall? < 1203420335 0 :Tritonio_!unknown@unknown.invalid PRIVMSG #esoteric :firewall2firewall is in fact firewalled user to firewalled user. < 1203420348 0 :Sukoshi`!unknown@unknown.invalid PRIVMSG #esoteric :It can do passive connections. < 1203420349 0 :Tritonio_!unknown@unknown.invalid PRIVMSG #esoteric :two users behind two firewalled router < 1203420368 0 :Tritonio_!unknown@unknown.invalid PRIVMSG #esoteric :i know but with passive connections it is much slower < 1203420373 0 :Sukoshi`!unknown@unknown.invalid PRIVMSG #esoteric :The protocol itself has no basic firewall support, true, but. < 1203420395 0 :Sukoshi`!unknown@unknown.invalid PRIVMSG #esoteric :How else would you propose to do it? Is opening a port that difficult? < 1203420408 0 :Tritonio_!unknown@unknown.invalid PRIVMSG #esoteric :sometimes it is imposible... :-( < 1203420413 0 :Tritonio_!unknown@unknown.invalid PRIVMSG #esoteric :if you do not own the router < 1203420436 0 :Sukoshi`!unknown@unknown.invalid PRIVMSG #esoteric :You can't tunnel through SSH? < 1203420444 0 :Sukoshi`!unknown@unknown.invalid PRIVMSG #esoteric :Or even as a last resort, use an HTTP proxy. < 1203420465 0 :Tritonio_!unknown@unknown.invalid PRIVMSG #esoteric :O_o how slow is this going to be? < 1203420496 0 :Tritonio_!unknown@unknown.invalid PRIVMSG #esoteric :and what do you mean to tunnel through SSH? < 1203420577 0 :Sukoshi`!unknown@unknown.invalid PRIVMSG #esoteric :Google holds many of these answers. < 1203421149 0 :oerjan!n=oerjan@hagbart.nvg.ntnu.no JOIN :#esoteric < 1203421394 0 :Tritonio_!unknown@unknown.invalid PRIVMSG #esoteric :i still don't see how an SSH tunnel would help < 1203422904 0 :timotiis!n=timotiis@jfkew.plus.com JOIN :#esoteric < 1203423430 0 :Corun!unknown@unknown.invalid QUIT :"This computer has gone to sleep" < 1203424251 0 :Sukoshi`!unknown@unknown.invalid PRIVMSG #esoteric :You SSH tunnel through an open port. < 1203424274 0 :Tritonio_!unknown@unknown.invalid PRIVMSG #esoteric :can't you just tell dc to use that port? < 1203424809 0 :Sukoshi`!unknown@unknown.invalid PRIVMSG #esoteric :Yeah. < 1203424825 0 :Sukoshi`!unknown@unknown.invalid PRIVMSG #esoteric :Or an HTTP proxy works, which tunnels traffic through an HTTP port. < 1203424843 0 :Tritonio_!unknown@unknown.invalid PRIVMSG #esoteric :but what if the route directs no port to your pc. < 1203424850 0 :Tritonio_!unknown@unknown.invalid PRIVMSG #esoteric :router* < 1203424866 0 :Tritonio_!unknown@unknown.invalid PRIVMSG #esoteric :which is the case normally < 1203424873 0 :Sukoshi`!unknown@unknown.invalid PRIVMSG #esoteric :So you can't access the internet at all? < 1203424884 0 :Tritonio_!unknown@unknown.invalid PRIVMSG #esoteric :huh? of course you can < 1203424908 0 :Tritonio_!unknown@unknown.invalid PRIVMSG #esoteric :you can connect to everyone else. but nobody else can connect to you. < 1203424915 0 :Sukoshi`!unknown@unknown.invalid PRIVMSG #esoteric :If you can't pass outgoing/incoming traffic through port 80, then what? < 1203424953 0 :Sukoshi`!unknown@unknown.invalid PRIVMSG #esoteric :A port works two ways, source and destination. A typical firewall allows you to use a port as a source port, but not use it as a destination port. < 1203424966 0 :Tritonio_!unknown@unknown.invalid PRIVMSG #esoteric :i am talking about routers. < 1203424967 0 :Sukoshi`!unknown@unknown.invalid PRIVMSG #esoteric :However you cannot do that with port 80, because it is an HTTP port. < 1203424979 0 :Sukoshi`!unknown@unknown.invalid PRIVMSG #esoteric :The router uses a firewall ... the difference is the same. < 1203424990 0 :Tritonio_!unknown@unknown.invalid PRIVMSG #esoteric :i can close all ports on my router and still access the internet < 1203424997 0 :Tritonio_!unknown@unknown.invalid PRIVMSG #esoteric :but there will be no incoming connections < 1203425020 0 :Tritonio_!unknown@unknown.invalid PRIVMSG #esoteric :you can make an outgoing connection using any local port even if the router has all ports closed < 1203425028 0 :Tritonio_!unknown@unknown.invalid PRIVMSG #esoteric :(for incoming connections) < 1203425035 0 :Sukoshi`!unknown@unknown.invalid PRIVMSG #esoteric :That means the router is being smart and allowing an HTTP connection to work synchronously, but now allowing one directional connections to occur. < 1203425054 0 :Tritonio_!unknown@unknown.invalid PRIVMSG #esoteric :i don't get it < 1203425065 0 :Sukoshi`!unknown@unknown.invalid PRIVMSG #esoteric :A router can't perform magic. It has to do something with ports. < 1203425076 0 :Sukoshi`!unknown@unknown.invalid PRIVMSG #esoteric :There's no option in the IP RFC that says "block a port but let traffic through". < 1203425083 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :obviously for tunneling you keep an outgoing connection open, which is still two-way for data < 1203425116 0 :Sukoshi`!unknown@unknown.invalid PRIVMSG #esoteric :In an HTTP proxy, the connection looks just like a typical HTTP connection. A server is connected to, data is requested, more data is sent back, data is further requested, etc. < 1203425127 0 :Tritonio_!unknown@unknown.invalid PRIVMSG #esoteric :the router is a network node. if you try to connect to someone's router on port 60 (4eg) it will have to forward this connection to some internal ip:port < 1203425140 0 :Tritonio_!unknown@unknown.invalid PRIVMSG #esoteric :right? < 1203425156 0 :Sukoshi`!unknown@unknown.invalid PRIVMSG #esoteric :Yes. < 1203425173 0 :Tritonio_!unknown@unknown.invalid PRIVMSG #esoteric :so what happens if no redirections have been setup? < 1203425185 0 :Tritonio_!unknown@unknown.invalid PRIVMSG #esoteric :the internal network still has access to the internet, right? < 1203425186 0 :Sukoshi`!unknown@unknown.invalid PRIVMSG #esoteric :.... < 1203425189 0 :Sukoshi`!unknown@unknown.invalid PRIVMSG #esoteric :How? < 1203425195 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :Tritonio_: you don't try to connect to someone's firewalled router. you allow them to connect to you, or you both connect to a server which does the tunneling. < 1203425212 0 :Sukoshi`!unknown@unknown.invalid PRIVMSG #esoteric :Data is transmitted outgoing or incoming. < 1203425259 0 :Tritonio_!unknown@unknown.invalid PRIVMSG #esoteric :oerjan, that's what i am saying. if you haven't setup and redirections then you cannot access a pc in an internal network until it makes a connections to you < 1203425290 0 :Sukoshi`!unknown@unknown.invalid PRIVMSG #esoteric :What is the theory behind this? Data can go out of a device and into a device. < 1203425298 0 :Tritonio_!unknown@unknown.invalid PRIVMSG #esoteric :after the pc behind the router connects to you, you can transmit and recieve data < 1203425306 0 :Sukoshi`!unknown@unknown.invalid PRIVMSG #esoteric :The way a router works is that, data is redirected. < 1203425322 0 :Tritonio_!unknown@unknown.invalid PRIVMSG #esoteric :ok wait. i < 1203425331 0 :Sukoshi`!unknown@unknown.invalid PRIVMSG #esoteric :So when you make an HTTP connection, you send the text "GET / HTTP/1.0". This data is sent out and transmitted via the router to the server of choice. < 1203425341 0 :Tritonio_!unknown@unknown.invalid PRIVMSG #esoteric :i'll close all redirections in my router, and UPnP too. ok? < 1203425358 0 :Sukoshi`!unknown@unknown.invalid PRIVMSG #esoteric :The router then sends back a response, the HTML code, and this is intercepted by the router, and then sent back to you. < 1203425365 0 :Tritonio_!unknown@unknown.invalid PRIVMSG #esoteric :according to you. i will not be able to talk here afterwards? < 1203425377 0 :Sukoshi`!unknown@unknown.invalid PRIVMSG #esoteric :Notice that you have an asynchronous connection here. Data is being transmitted one way and received another. < 1203425404 0 :Sukoshi`!unknown@unknown.invalid PRIVMSG #esoteric :Tritonio_: Not neccessarily, your router could be smart (which is very normal) and if a connection is made first from a requesting machine, that connection can be allowed into the clear by the router. < 1203425419 0 :Sukoshi`!unknown@unknown.invalid PRIVMSG #esoteric :Stop treating the router as a black box. "The router can do x" is not an explanation. < 1203425438 0 :Tritonio_!unknown@unknown.invalid PRIVMSG #esoteric :i still don't get it. < 1203425445 0 :Tritonio_!unknown@unknown.invalid PRIVMSG #esoteric :if i disconnect from the chat < 1203425454 0 :Tritonio_!unknown@unknown.invalid PRIVMSG #esoteric :then cancel all redirections. < 1203425461 0 :Tritonio_!unknown@unknown.invalid PRIVMSG #esoteric :will i be able to reconnect? < 1203425466 0 :Tritonio_!unknown@unknown.invalid PRIVMSG #esoteric :(i say yes) < 1203425470 0 :Sukoshi`!unknown@unknown.invalid PRIVMSG #esoteric :Your machine sends a SYN packet to the router dest. the IRC server < 1203425487 0 :Sukoshi`!unknown@unknown.invalid PRIVMSG #esoteric :The router sees the SYN packet, and adds the connection to a connection table, then routes the SYN packet out to the server. < 1203425496 0 :Tritonio_!unknown@unknown.invalid PRIVMSG #esoteric :right < 1203425499 0 :Sukoshi`!unknown@unknown.invalid PRIVMSG #esoteric :The server sends back a response, SYN/ACK. < 1203425506 0 :Tritonio_!unknown@unknown.invalid PRIVMSG #esoteric :right < 1203425515 0 :Sukoshi`!unknown@unknown.invalid PRIVMSG #esoteric :The router then cross-references the SYN/ACK with its connection table. If it finds an entry, it lets this through to you. < 1203425527 0 :Sukoshi`!unknown@unknown.invalid PRIVMSG #esoteric :If it does not, the packet gets dumped into /dev/null. < 1203425528 0 :Tritonio_!unknown@unknown.invalid PRIVMSG #esoteric :ok < 1203425542 0 :Tritonio_!unknown@unknown.invalid PRIVMSG #esoteric :so there will be a connection. < 1203425562 0 :Sukoshi`!unknown@unknown.invalid PRIVMSG #esoteric :So an HTTP tunnel works exactly this way. It creates an outgoing connection, and sends the traffic through this. The proxy then is in charge of handling all the traffic with the external server. < 1203425588 0 :Tritonio_!unknown@unknown.invalid PRIVMSG #esoteric :an outgoing connection to who? < 1203425595 0 :Sukoshi`!unknown@unknown.invalid PRIVMSG #esoteric :To the proxy. < 1203425610 0 :Tritonio_!unknown@unknown.invalid PRIVMSG #esoteric :wait < 1203425614 0 :Sukoshi`!unknown@unknown.invalid PRIVMSG #esoteric :C <-> P <-> S (C: Client, P: Proxy, S: Server.) < 1203425618 0 :Tritonio_!unknown@unknown.invalid PRIVMSG #esoteric :if i am behind a router < 1203425627 0 :Tritonio_!unknown@unknown.invalid PRIVMSG #esoteric :and you are behind a router. < 1203425639 0 :Tritonio_!unknown@unknown.invalid PRIVMSG #esoteric :how can we use the http proxy to communicate? < 1203425678 0 :Sukoshi`!unknown@unknown.invalid PRIVMSG #esoteric :Okay, I'll give the simple explanation and leave for the night (it's 4:52 AM here): Because for all intents and purposes, an HTTP proxy connection looks the same as any HTTP connection. < 1203425690 0 :Tritonio_!unknown@unknown.invalid PRIVMSG #esoteric :ok < 1203425711 0 :Sukoshi`!unknown@unknown.invalid PRIVMSG #esoteric :I suggest you do some IP reading in the mean time to get an understanding of it. < 1203425718 0 :Sukoshi`!unknown@unknown.invalid PART #esoteric :? < 1203425804 0 :faxathisia!n=ultravio@137.195.250.2 JOIN :#esoteric < 1203425828 0 :oerjan!unknown@unknown.invalid QUIT :"Too much noise" < 1203426031 0 :Tritonio_!unknown@unknown.invalid PRIVMSG #esoteric :anybody here? < 1203426064 0 :faxathisia!unknown@unknown.invalid PRIVMSG #esoteric :Tritonio_: < 1203426114 0 :Tritonio_!unknown@unknown.invalid PRIVMSG #esoteric :was i wrong about the HTTP proxy not been helpful if both routers (NATs) do not redirect incoming connections to the two users that want to communicate??? < 1203428727 0 :slereah_!unknown@unknown.invalid QUIT :Read error: 104 (Connection reset by peer) < 1203428791 0 :slereah_!n=slereah@ANantes-252-1-34-30.w82-126.abo.wanadoo.fr JOIN :#esoteric < 1203429410 0 :ehird`!n=ehird@user-5445797c.lns6-c11.dsl.pol.co.uk JOIN :#esoteric < 1203429540 0 :ehird`_!n=ehird@user-5445797c.lns6-c11.dsl.pol.co.uk JOIN :#esoteric < 1203429562 0 :ehird`!unknown@unknown.invalid QUIT :Read error: 113 (No route to host) < 1203429683 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :i just realised what a good curse 'Bjarne, stroustroup!' is < 1203429696 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :Bjarne sounds like a foreign insult and 'stroustroup' sounds like..well, stroustroup < 1203429700 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :[note: spelling may suck] < 1203430703 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :we need a glass debugger < 1203430764 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :wouldn't that constitute a wimpmode? I don't think Gregor would approve < 1203431503 0 :ais523!n=ais523@pw02-fap01.bham.ac.uk JOIN :#esoteric < 1203431635 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :RodgerTheGreat: No, not really... < 1203431640 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :It would be edlin-style < 1203431648 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :ah < 1203431650 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :it would execute a line at a time < 1203431664 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :'' would execute the line, then print out the next one < 1203431676 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :and you'd have a command to print out the stack in an inscrutable format < 1203431679 0 :RodgerTheGreat!unknown@unknown.invalid PRIVMSG #esoteric :maybe make it use commands that are rot13ed to make it harder to memorize? < 1203431682 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :add about 3 or 4 more commands and you've got the glass debugger < 1203431690 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :RodgerTheGreat: all one character < 1203431694 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :with seemingly no relation to what they do < 1203431698 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :(Just like Glass!) < 1203431774 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :hello ais523 < 1203431948 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :GregorR: Is cpkt yours? < 1203431953 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :ckpt < 1203431957 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :in egobot tree < 1203431963 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :because JB_SP is undefined < 1203432025 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :$ grep JB_SP * < 1203432025 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :mem.c: jbuf[0].__jmpbuf[JB_SP] = stack_base; < 1203433332 0 :ehird!n=ehird@user-5445797c.lns6-c11.dsl.pol.co.uk JOIN :#esoteric < 1203433336 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :testing < 1203433348 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :testy < 1203433350 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :testy4 < 1203433363 0 :ehird!unknown@unknown.invalid PRIVMSG #esoteric :fooby < 1203433365 0 :ehird!unknown@unknown.invalid QUIT :Client Quit < 1203434450 0 :puzzlet!unknown@unknown.invalid QUIT :"Lost terminal" < 1203434813 0 :faxathisia!unknown@unknown.invalid PRIVMSG #esoteric :ehird :( < 1203434829 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :faxathisia: xD < 1203434887 0 :faxathisia!unknown@unknown.invalid PRIVMSG #esoteric :my code kind of sucks but I don't really care because it works < 1203434896 0 :faxathisia!unknown@unknown.invalid PRIVMSG #esoteric :http://rafb.net/p/QEsaFY55.txt < 1203434917 0 :faxathisia!unknown@unknown.invalid PRIVMSG #esoteric :but this puts every bf program in a list and runs them all.. extracting the ones that terminate < 1203434941 0 :faxathisia!unknown@unknown.invalid PRIVMSG #esoteric :so ... I run it for like half an hour and there isn't any good output < 1203434949 0 :faxathisia!unknown@unknown.invalid PRIVMSG #esoteric :just \0\1\0 and stuff < 1203435108 0 :faxathisia!unknown@unknown.invalid PRIVMSG #esoteric :this sucks! < 1203435118 0 :faxathisia!unknown@unknown.invalid PRIVMSG #esoteric :making shortest programs in VERY hard < 1203435929 0 :Asztal!unknown@unknown.invalid PRIVMSG #esoteric :what does it do when it generates []? < 1203435970 0 :faxathisia!unknown@unknown.invalid PRIVMSG #esoteric :I actually filter out any programs with [] because there's always an equivalent shorter program or it gets stuck < 1203435984 0 :faxathisia!unknown@unknown.invalid PRIVMSG #esoteric :er not stuck.. but infinite loop < 1203435999 0 :faxathisia!unknown@unknown.invalid PRIVMSG #esoteric :If there is an infinite loop .. I just keep evaluating it forever < 1203436024 0 :faxathisia!unknown@unknown.invalid PRIVMSG #esoteric :but lots of programs are run in parralel < 1203436129 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :faxathisia: do you filter other infinite loops? < 1203436142 0 :faxathisia!unknown@unknown.invalid PRIVMSG #esoteric :no < 1203436167 0 :faxathisia!unknown@unknown.invalid PRIVMSG #esoteric :I filter any redundancy like +- <> >< -+ .. < 1203436193 0 :faxathisia!unknown@unknown.invalid PRIVMSG #esoteric :and any expression that isn't well parenthesized but that's it < 1203436234 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :if you have a balanced loopie, it's very simple to check whether conditions have changed after a cycle < 1203436241 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :..? < 1203436248 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :".."? < 1203436287 0 :faxathisia!unknown@unknown.invalid PRIVMSG #esoteric :the program could be made more sophisticated but I run it for ages and it didn't produce anything < 1203436301 0 :faxathisia!unknown@unknown.invalid PRIVMSG #esoteric :I think this whole approach is just too slow < 1203436334 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :well, ofc it's slow < 1203436424 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :you're actually trying to do something? < 1203436462 0 :faxathisia!unknown@unknown.invalid PRIVMSG #esoteric :Well the aim is find the shortest possible programs to print given strings, < 1203436477 0 :faxathisia!unknown@unknown.invalid PRIVMSG #esoteric :now I know this is impossible but it's still worth trying < 1203436490 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :well, you're a lunatic if you think that approach could work :D < 1203436505 0 :faxathisia!unknown@unknown.invalid PRIVMSG #esoteric :hehee < 1203436538 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :if you're going for more than 4 characters < 1203436905 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :are you filtering out expressions that don't end in . followed by some number of ]s? < 1203436954 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :you may also be able to optimise, at least if you restrict your search to loops with balanced <>, by compiling into some other language first < 1203437511 0 :habnabit!n=habnabit@cust-65-98-205-68.static.o1.com JOIN :#esoteric < 1203438096 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :ais523: hmm < 1203438099 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :what was i going to say? < 1203438100 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :i forgot. < 1203438111 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ACTION is incapable of reading ehird`_'s mind < 1203438132 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric : Haskell separates Church and state! < 1203438229 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :heh < 1203438284 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :ais523: i wrote a haskell program that makes ghc use 100% cpu and never halt < 1203438289 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :i think i beat the typechecker. < 1203438295 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :(iirc, it is non-decidable) < 1203438308 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :"Loop in the flow analysis" was one of my favourite Prolog compiler error messages < 1203438316 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :even though I never ran the compiler, just read the manual < 1203438320 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :ais523: Really? I preferred '42'. < 1203438329 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :what was your compiler-breaking program? < 1203438335 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :(SWI-Prolog outputs '42' if you tell it to do something impossible, like 'X.') < 1203438380 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :http://hpaste.org/5758 < 1203438481 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :aha < 1203438482 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :hugs halts on it < 1203438484 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :with a type error < 1203438494 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :I can't figure out what pred is trying to do < 1203438503 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :how many arguments would it normally be called with? < 1203438515 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :from the name, I'm guessing it subtracts one from its argument, so 1 < 1203438541 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :ais523: yes. this is church numeral stuff. < 1203438551 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :i don't personally understand 'pred', to be honest < 1203438556 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :you should see the type thouhg: < 1203438558 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :predecessor < 1203438570 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :(((t -> t2) -> (t2 -> t3) -> t3) -> (t4 -> t1) -> (t5 -> t5) -> t6) -> t -> t1 -> t6 < 1203438573 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :and i know what 'pred' stands for < 1203438577 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :i mean i don't understand the definition < 1203438578 0 :uvanta!n=uvanta__@116.45.53.15 JOIN :#esoteric < 1203438581 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :sorry, I misinterpreted your comment < 1203438589 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :*** Expression : dechurch < 1203438589 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :*** Expected type : ((a -> a) -> a -> a) -> Integer < 1203438589 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :*** Inferred type : ((((a -> a) -> a) -> (a -> a) -> a) -> ((a -> a) -> a) -> (a -> a) -> a) -> Integer < 1203438665 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :your implementation of dechurch is inefficient < 1203438696 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :dechurch n = n (1+) 0 < 1203438808 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :i was doing it purely < 1203438823 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :in fact, your implementation is probably wrong, because comparing functions is uncomputable < 1203438837 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :so you can hardly expect the compiler to match functions based on Church number equality < 1203438863 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :ais523: well, we'll see what it does < 1203438863 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric ::P < 1203438864 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :the 'dechurch zero' pattern won't match a Church numeral unless it's a literal 'zero' or you're lucky, even if the Church numeral has the value 0 < 1203438926 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :hmm... I wonder if the recursive definition 'succ n = n succ one' would work, or whether it would confuse the compiler < 1203438941 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :I doubt it would work in Haskell, because it looks like an infinite loop < 1203438953 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :but there's a slim chance that laziness might save it < 1203438984 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :no, it is an infinite loop, because 'succ one' ends up being defined to be 'succ one' < 1203438985 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :pity < 1203439014 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :it would work in that uncomputable language I was talking about yesterday, if written as Succ(N)=N(Succ(One)) < 1203439040 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :but I wonder if that would give more than one solution for Succ... < 1203439067 0 :Corun!n=Corun@halls-129-31-72-183.hor.ic.ac.uk JOIN :#esoteric < 1203439111 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :ais523: succ one = ...; succ n = n succ one < 1203439123 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :well < 1203439125 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :succ n | n == one < 1203439127 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric ::-P < 1203439135 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :you can't compare functions with == < 1203439140 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :exactly < 1203439140 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :but: < 1203439141 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :or with anything else, for that matter < 1203439156 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :succ n | dechurch n == 1 = two < 1203439157 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric : | otherwise = n succ one < 1203439167 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :but... < 1203439171 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :you need Integer -> Integer stuff < 1203439174 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :i'm going to do a newtype < 1203439181 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :hmm... < 1203439196 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :ais523: the type system doesn't like it, y'see < 1203439197 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :succ two = two succ one = succ (succ one) = succ two = ... < 1203439218 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :so defining succ recursively, although mathematically true, doesn't really help a computer < 1203439239 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :ais523: anyway, newtype Church a = Church ((a -> a) -> a -> a) is problematic < 1203439243 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :because you need < 1203439246 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :a = Church a < 1203439248 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :so: < 1203439252 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :class time < 1203439268 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :class Church a < 1203439269 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :instance (Church a) => Church ((a -> a) -> a -> a) < 1203439270 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :... i think < 1203439277 0 :faxathisia!unknown@unknown.invalid PRIVMSG #esoteric ::o < 1203439287 0 :faxathisia!unknown@unknown.invalid PRIVMSG #esoteric :I like this idea < 1203439308 0 :faxathisia!unknown@unknown.invalid PRIVMSG #esoteric :although is it valid? < 1203439315 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :lmao: < 1203439316 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :instance Churchy Church ... < 1203439383 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :it's so much simpler in Underload/Underlambda < 1203439387 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :zero is !() < 1203439390 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :one is < 1203439393 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :two is :* < 1203439394 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :ais523: is that strongly typed? < 1203439397 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :three is ::** < 1203439399 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :and so on < 1203439403 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird`_: not exactly < 1203439407 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :there's just the one type, function < 1203439419 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :'xactly < 1203439419 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :each function maps a stack of functions to another stack of functions < 1203439432 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :strong typing messes up sii quite badly < 1203439440 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :and the ability of sii is needed to write loops < 1203439466 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :OTOH, I suppose you could say it was strongly typed, except with just the one type, defined recursively as type = [type]->[type] < 1203439476 0 :faxathisia!unknown@unknown.invalid PRIVMSG #esoteric :you might be able to write sii using lets? < 1203439500 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :I can't think of a way to do that < 1203439502 0 :faxathisia!unknown@unknown.invalid PRIVMSG #esoteric :because you can get Y using a let < 1203439508 0 :faxathisia!unknown@unknown.invalid PRIVMSG #esoteric :I'm just guessing.. < 1203439509 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :the naive definition is sii X = X X < 1203439510 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :faxathisia: not in haskell < 1203439519 0 :faxathisia!unknown@unknown.invalid PRIVMSG #esoteric :ehird`_: proof? < 1203439525 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :faxathisia: it doesn't type < 1203439528 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :a = a -> a < 1203439529 0 :faxathisia!unknown@unknown.invalid PRIVMSG #esoteric :y types < 1203439529 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :but < 1203439534 0 :faxathisia!unknown@unknown.invalid PRIVMSG #esoteric :y f = f (y f) < 1203439534 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :no, it doesn't < 1203439537 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :that is not y < 1203439537 0 :faxathisia!unknown@unknown.invalid PRIVMSG #esoteric :yes it does.... < 1203439539 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :THAT IS NOT Y < 1203439541 0 :faxathisia!unknown@unknown.invalid PRIVMSG #esoteric :Yes it is... < 1203439547 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :there are two Ys < 1203439552 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :a lazy version and an eager version < 1203439559 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :ais523: and that is neither < 1203439562 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :y is a COMBINATOR < 1203439567 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :and #haskell are informing you now, faxathisia < 1203439574 0 :faxathisia!unknown@unknown.invalid PRIVMSG #esoteric :no they aren't :P < 1203439589 0 :faxathisia!unknown@unknown.invalid PRIVMSG #esoteric :YOU are a combinator! < 1203439600 0 :Corun!unknown@unknown.invalid QUIT :"This computer has gone to sleep" < 1203439610 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :ais523: i haven't seen him justify his belief as of yet. < 1203439611 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :oh well. < 1203439634 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :faxathisia: http://r6.ca/blog/20060919T084800Z.html < 1203439639 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :a combinator can be a function < 1203439643 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :id is a combinator, after all < 1203439646 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :but it's also a function < 1203439657 0 :faxathisia!unknown@unknown.invalid PRIVMSG #esoteric :ehird`_: Yeah, I've seen that < 1203439671 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :Y g = g (Y g), according to Wikipedia < 1203439691 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :ais523: that's not y. < 1203439703 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :that's a quote < 1203439712 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :Y = λf·(λx·f (x x)) (λx·f (x x)) < 1203439726 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :is how you defined it without using the argument in terms of lambdas < 1203439771 0 :cherez!unknown@unknown.invalid QUIT :Read error: 110 (Connection timed out) < 1203440083 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :type Church a = ((a -> a) -> a -> a) < 1203440083 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :class Churchy a < 1203440083 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :instance Churchy Church < 1203440322 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :http://hpaste.org/5759 getting there < 1203440373 0 :slereah_!unknown@unknown.invalid QUIT :Read error: 104 (Connection reset by peer) < 1203440389 0 :slereah_!n=slereah@ANantes-252-1-34-30.w82-126.abo.wanadoo.fr JOIN :#esoteric < 1203440404 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :"Churchy" == "something that acts kind of like a Church numeral or its argument"? < 1203440415 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :ais523: 'Churchy' == 'a church numeral' < 1203440419 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :remember, < 1203440432 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :the only arguments to church numerals are (ChurchNumeral -> ChurchNumeral) and another ChurchNumeral < 1203440432 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :but church numerals can be applied to non-church-numeral arguments < 1203440441 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :like the (1+) I gave as an example above < 1203440444 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :ais523: not if we want everything to type properly.. < 1203440451 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :anyway -- so we have a recursive type, so we need that class hack < 1203440459 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :oh dear < 1203440468 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :the typechecker strikes again < 1203440474 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :er no < 1203440477 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :just the sane type system < 1203440486 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :anything more and you could get full polymorphism < 1203440489 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :because you need type 'a = a -> a' < 1203440494 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :which is the type of all lambda expressions < 1203440496 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :yes, but it gets in the way if you want to do Unlambda-style pure functional programming < 1203440515 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :presumably, they thought that real programs were more important < 1203440518 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :because that leads to infinite types with ease < 1203440519 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :i have no idea why < 1203440524 0 :faxathisia!unknown@unknown.invalid PRIVMSG #esoteric :this is why we have data types :P < 1203440529 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :faxathisia: :) < 1203440542 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :I'm aware that the typechecker is useful in practice < 1203440552 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :but it's really annoying in theory < 1203440571 0 :faxathisia!unknown@unknown.invalid PRIVMSG #esoteric :In theory a typechecker needn't exist < 1203440582 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :in theory, it's great < 1203440585 0 :faxathisia!unknown@unknown.invalid PRIVMSG #esoteric :well .. you have to do the proofs yourself < 1203440591 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :its the sweet spot for usability and ... well, computability < 1203440609 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :church numerals are 'weird' anyway... i would say that a type system not including them is not odd < 1203440610 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :removing the typechecker wouldn't make the language uncomputable... < 1203440624 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :Unlambda is computable, and so is lambda calculus < 1203440640 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :uhh, duh < 1203440643 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :but then you have no types... < 1203440646 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :to me, though, the main point of Church numerals in practice is to give a simple way to write loops < 1203440646 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :and haskell is designed to be strongly typed < 1203440660 0 :faxathisia!unknown@unknown.invalid PRIVMSG #esoteric :I guess ehird; mean that typechecking is computable? < 1203440677 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :succ :: Churchy a => ((a -> a) -> a -> a) -> (a -> a) -> a -> a < 1203440678 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :say I want to print something out 6 tiems < 1203440679 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :doesn't :( < 1203440718 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :then with the monad chaining argument explicit, it would just be a case of writing six (printChained "Hello") InitialIOChain < 1203440733 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :where printChain has the type String -> IOChain -> IOChain < 1203440743 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :and the IOChain is the underlying chaining element inside the monad < 1203440762 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :of course, Haskell doesn't let you access that directly, because it would allow you to fork timelines, which is just weird < 1203440821 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :a non-monad example: to make 12 copies of the string "test", I need only do '(church 12) (++"test") ""' < 1203440824 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :ais523: you can access the io chain < 1203440825 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :in ghc. < 1203440828 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :it's... magical < 1203440830 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :oh good < 1203440840 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :that would at least be better for my sanity than unsafePerformIO < 1203440847 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :newtype IO a < 1203440847 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric : = GHC.IOBase.IO (State# RealWorld -> (# State# RealWorld, a #)) < 1203440847 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric : -- Defined in GHC.IOB < 1203440856 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :(# ... #) is strictness annotations, btw < 1203440861 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :RealWorld being the IO chain, presumably < 1203440900 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :I wonder what happens when you deliberately fork it? < 1203440900 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :ais523: segfault, i assume < 1203440903 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :ask in #ghc or #haskell < 1203440907 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :not that I'd ever do something that evil in practice < 1203440908 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :ais523: but the important thing < 1203440915 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :is that with this IO, you can define IOT < 1203440916 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :and... < 1203440928 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :type TwoDucks = IOT Cont < 1203440945 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :I was having similar thoughts in my megaProlog < 1203440956 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :TwoDucksness falls out naturally from the syntax < 1203440982 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :with no time travel involved, just starting with the (infinite) set of all possible timelines and eliminating them until only a few are left at the end of the program < 1203441031 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :aww damn, ais523 -- < 1203441035 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :dechurch :: Church a -> Integer < 1203441037 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :doesn't type < 1203441040 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :dechurch :: Church Integer -> Integer < 1203441040 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :does < 1203441042 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :but obviously < 1203441047 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :that means you can't "dechurch one" < 1203441060 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :what about my dechurch definition? < 1203441067 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :I am using yours < 1203441068 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :dechurch (Church n) = n (1+) 0 < 1203441074 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :that probably won't type the way you've defined the typeclasses < 1203441091 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :look < 1203441097 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :the real problem is that all the Church numerals have different types < 1203441123 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :so, for instance, one would be a -> a in an ideal world < 1203441151 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :two would be (a -> b AND b -> c) -> (a -> c) < 1203441165 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :three would be (a -> b AND b -> c AND c -> d) -> (a -> d) < 1203441191 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :but ANDs in types are apparently not allowed, even though I've wanted to use them in RL before < 1203441231 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :two three would be allowed; its type signature would even tell you that the result was six! < 1203441242 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :come to thing of it, succ and pred would likely be fine too < 1203441334 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :ais523: I've decided type-level church numerals are far more fun. < 1203441374 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :data Zero < 1203441374 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :data Succ a < 1203441396 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :err < 1203441396 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :peanos < 1203441650 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird`_: I have no problem with Church numerals, succ, and dechurch typing for me < 1203441666 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :although they type as (a -> a) -> a -> a, which is likely the best that Haskell can do < 1203441688 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :ais523: yes, the problems come later < 1203441693 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :succ :: ((b -> c) -> a -> b) -> (b -> c) -> a -> c < 1203441700 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :ais523: anyway, type-levels are so fun < 1203441703 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :you can have < 1203441704 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :succ = const undefined < 1203441708 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :and just define the type < 1203441727 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :did you know that haskell's type system (well, with 1 or 2 extensions turned on) can have SK embedded in it?? < 1203441744 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :so you can't get sii in the lang itself < 1203441748 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :but you can get sii in its type system < 1203441751 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :but you can get it in the type system. < 1203441751 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :yes. < 1203441756 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :because the type system itself isn't typechecked so strictly < 1203441759 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :yes. < 1203441769 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :well, you can't get it without the 2 extensions < 1203441772 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :that says a lot about Haskell's typechecker < 1203441776 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :and one is -XUndecidableInstances < 1203441782 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :so, to be honest, you're really saying 'LET ME DO THIS' < 1203441823 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :well, of course, something that doesn't allow undecidable types is hardly going to allow TC types < 1203441830 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :ais523: here's how you use peano-types: > :t pred (undefined :: (Succ Zero)) < 1203441836 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :should give you: < 1203441844 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :pred (undefined :: (Succ Zero)) :: Zero < 1203441867 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric : the real test will be if you can multiply and divide them < 1203441873 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :pred :: Succ a -> a < 1203441873 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :pred = const undefined < 1203441877 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :ais523: of course you can. < 1203441884 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :there's a fscking *type-level quicksort* < 1203441901 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :interestingly, with that definition of pred < 1203441905 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :you get (pred Zero) checking for free < 1203441920 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :yes, but I was wondering about if it was possible with that sort of simple definition < 1203441927 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :and how complicated the type signature needed would be < 1203441955 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :ais523: also worth noting is that its impossible to get the type into a haskell Integer < 1203441956 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :well < 1203441964 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :you can define a Show instance < 1203441966 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :then read that < 1203441966 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric ::D < 1203441982 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :that only gets you a finite number of possible outputs, right? < 1203441999 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :therefore, you should define Show to output ASCII chars rather than integers < 1203442006 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :so you can have BF-style IO < 1203442025 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :and write atoi in the type system < 1203442025 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :instance Show Zero where show = const "0" < 1203442025 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :instance Show (Succ a) where show = const ("S" ++ show (undefined :: a)) < 1203442025 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :unfortunately, does not actually work < 1203442025 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :sorry, itoa < 1203442147 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird`_: what goes wrong? < 1203442159 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :and why the underscore on your nick? < 1203442162 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :ais523: well, if you add (Show a) => Show (Succ a): < 1203442172 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :/home/ehird/calc.hs:13:20: < 1203442172 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric : Ambiguous type variable `a' in the constraint: < 1203442172 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric : `Show a' < 1203442172 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric : arising from a use of `show' at /home/ehird/calc.hs:13:20-33 < 1203442172 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric : Probable fix: add a type signature that fixes these type variable(s) < 1203442185 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :ais523: and: < 1203442187 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :i use 'ehird' now (got it back) < 1203442191 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :but ehird` was when ehird was cracked < 1203442194 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :and i crashed before < 1203442197 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :leaving a ghost < 1203442199 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :so: ehird`_ < 1203442209 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :OK < 1203442227 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :Show a might not be enough < 1203442232 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :what about (Show a, Peano a)? < 1203442239 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :define 'Peano a' < 1203442241 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :there is no such thing < 1203442246 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :just 'data Zero' and 'data Succ a' < 1203442257 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :oh, so Zero and Succ are different data types < 1203442270 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :just for fun, what happens if you say "deriving Show"? < 1203442280 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :ais523: they have no constructors. < 1203442287 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :that would therefore do nothing < 1203442292 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :OK < 1203442302 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :ah wait < 1203442302 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :for a while I thought you were using the constructors to do your Peano arithmetic < 1203442304 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :i can use my pred function < 1203442309 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :ais523: that would be runtime < 1203442318 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :you're right, it would be < 1203442322 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :when you do 5*2 in this, it's worked out at compile-time. < 1203442328 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :and you get a value of type (Succ^10 Zero) < 1203442340 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :the value itself is just 'undefined' as some value so it's pretty opaque < 1203442377 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :*Main> undefined :: Succ (Succ Zero) < 1203442377 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :SS0 < 1203442385 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :instance Show Zero where < 1203442385 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric : show _ = "0" < 1203442385 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :instance Show a => Show (Succ a) where < 1203442385 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric : show a = "S" ++ show (pred a) < 1203442582 0 :slereah_!unknown@unknown.invalid PRIVMSG #esoteric :Is it possible to implement the µ function? < 1203442595 0 :slereah_!unknown@unknown.invalid PRIVMSG #esoteric :I can't think of a general way to do it. < 1203442613 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :what is it < 1203442666 0 :slereah_!unknown@unknown.invalid PRIVMSG #esoteric :You know, for general recursive functions. µy f(y, x1, x2, x3, ...) = smallest value of y that makes the function vanish if it exists, 0 otherwise. < 1203442830 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :ais523: heyyy, I just realised < 1203442834 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :an instance for Eq on Succ a or Zero < 1203442838 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :is const const True < 1203442842 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :because.. < 1203442847 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :== with two non-equal arguments, with that < 1203442850 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :doesn't type!! < 1203442863 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :does Eq return false when it doesn't type < 1203442866 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :or does it just error out < 1203442870 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :ais523: no, it won't compile < 1203442877 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :so.. you have compile-time assertations of numeric equality < 1203442878 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric ::P < 1203442884 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :so that would be more assert-equal rather than equal < 1203442886 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :you can define an Eq type doing it properly < 1203442887 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :of course < 1203442919 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :ais523: for Plus i'll need a class... < 1203442923 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :actually < 1203442926 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :'plus' can't be a function itself < 1203442934 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :i must define a 'plus' class or something < 1203442939 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :then do the trick i did with pred/succ for a function < 1203443080 0 :habnabit!unknown@unknown.invalid QUIT :Read error: 110 (Connection timed out) < 1203443253 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :ais523: making this hs98 is hard < 1203443253 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric ::D < 1203443276 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :do you have a link to that type-system quicksort, by the way? < 1203443299 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :ais523: yep < 1203443307 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :Google seems not to help that much < 1203443325 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :http://www.haskell.org/haskellwiki/Type_arithmetic < 1203443329 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :but please don't look at the numeric definitions < 1203443335 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :i want to make sure mine are as different as possible < 1203443349 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :and < 1203443349 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :http://www.haskell.org/haskellwiki/Type_SK < 1203443354 0 :ehird`_!unknown@unknown.invalid PRIVMSG #esoteric :brb < 1203443845 0 :ehird`_!unknown@unknown.invalid QUIT :"K-Lined by peer" < 1203444168 0 :ehird`!n=ehird@user-5445797c.lns6-c11.dsl.pol.co.uk JOIN :#esoteric < 1203444205 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :ehird` missed what? < 1203444219 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :no comments between when you left and when you rejoined < 1203444223 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :at least not in this channel < 1203444230 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :nor either of the others I'm in < 1203444245 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :either of the others I'm all alone in, for that matter, since you left < 1203444252 0 :slereah_!unknown@unknown.invalid PRIVMSG #esoteric :The internet awaited your return < 1203444288 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :ais523: anyway, i'm testing with hugs now < 1203444290 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :without extensions < 1203444292 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :to ensure portability < 1203444360 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :ais523: apart from plus/minus etc < 1203444364 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :what would you say is a good operation? < 1203444369 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :since plus/minus are too hard, for now < 1203444369 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :for testing? < 1203444412 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :with Church numerals, exponentiation is easier than plus, minus, times, or divide < 1203444413 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :I don't think Peano numbers are so well behaved, though < 1203444420 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :what about mod-2 < 1203444426 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :that's pretty simple < 1203444449 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :that requires comparison < 1203444450 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :i think < 1203444458 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :only to 0 and 1 < 1203444465 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :i guess so.. < 1203444628 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :ais523: crazy -- i'm writing a toPeano < 1203444632 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :i guess, that might be impossible < 1203444635 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :fromPeano is easy < 1203444643 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :class Peano a where < 1203444643 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric : fromPeano :: a -> Integer < 1203444643 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :instance Peano Zero where < 1203444643 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric : fromPeano _ = 0 < 1203444643 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :instance Peano a => Peano (Succ a) where < 1203444643 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric : fromPeano a = 1 + fromPeano (pred a) < 1203444647 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :what are you passing in as an argument to toPeano? < 1203444651 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :ais523: Integer < 1203444654 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :which is why I think it's hard < 1203444658 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :clearly impossible < 1203444659 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :I would need run-time types. < 1203444664 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :the Integer's value isn't known at compile time < 1203444667 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :exactly < 1203444746 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :write a fromChurchToPeano instead < 1203444755 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :that reads a Church numeral in SKK form... < 1203444758 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :ais523: Churchs values aren't known at compile-time either < 1203444759 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric ::-P < 1203444768 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :you can implement the Churches in types < 1203444777 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :probably easier than implementing them as functions... < 1203444786 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :mehh < 1203444812 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :it's actually remarkably simple, because you just apply the Church numeral to succ and 0 < 1203445268 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :ais523: i am unsure if plus is possible with just hs98 < 1203445314 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :I don't know enough Haskell typesystem stuff yet to be sure either < 1203445323 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :I'm just busy on getting the Underlambda Tier 1 spec finished < 1203445358 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :it's exactly the Underload spec, except taht S has been relaxed to print out a serialisation of the code in the top stack element, rather than the source code of the top stack element < 1203445364 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :and everything's described in a lot more detail < 1203445382 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :oh, and I changed the quoting rules because everyone ignored them anyway < 1203445395 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :and added a magic word for the start of the program < 1203445455 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :but if the forbidden characters #!{} are avoided, all Underload interpreters are lenient conforming bounded Underlambda Tier 1 interpreters < 1203445497 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :ais523: i just had an idea < 1203445502 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :if haskell's typesystem is TC < 1203445506 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :then what about a language with just a type system?! < 1203445549 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :but then it wouldn't really be a just-a-type-system lang < 1203445559 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :but a lang with untyped data < 1203445561 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :(i.e. the types) < 1203445566 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :unless you're using metatyping as well < 1203445569 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :ais523: yes < 1203445573 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :a turtles-all-the-way-down approach < 1203445584 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :I want to have metakinds of metatypes! < 1203445643 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :ais523: and < 1203445646 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :the values ARE needed < 1203445651 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :because a 'djinn'-alike is involved < 1203445653 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :if you want to do IO. < 1203445675 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :unless your IO chain is made of types rather than values < 1203445680 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :I don't see how you could do input otherwise < 1203445687 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :it is made up of types, yes. < 1203445688 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :because the input would be runtime but the output compile-time... < 1203445698 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :you are right -- the chain is made up of types, then < 1203445700 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :and if your IO chain is made of types you don't need the values < 1203445707 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :well, you will < 1203445719 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :by making the type specify that the 'values' (dummies) depend on the previous 'values' (also dummies, but of just the right type) < 1203445749 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :maybe you could combine the dummy values with random operators that happened to have the right type signature < 1203445760 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :and just plug some random dummy values in to see what happened < 1203445770 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :at runtime, after your program has already run < 1203445910 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :yep < 1203445912 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :well < 1203445913 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :no < 1203445917 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :what happens is that < 1203445925 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :to find a variable of type '' < 1203445939 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :it must satisfy the constraints which amount to 'a line of input whicih is inputted RIGHT NOW' < 1203445942 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :so the compiler gets it < 1203445950 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :(the compiler is also a djinn) < 1203445955 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :and then hardcodes that value into the output < 1203445960 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :just like a very clever djinn < 1203445962 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :so basically < 1203445966 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :all IO happens at compile-time < 1203445971 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :the final program is a no-op < 1203445980 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :or indeed not necessary at all < 1203445982 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :ais523: http://pastebin.com/m64be26a5 this bash prompt is epic -- see http://reddit.com/info/697cu/comments/c037ztj < 1203446026 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :are bash prompts TC, like the rest of bash is? < 1203446039 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :probably not, unless there's a way to loop < 1203446359 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :ais523: check the source fo that one < 1203446372 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :it uses prompt_command < 1203446391 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :I did, but I don't understand it that much < 1203446411 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :it appears to be mostly switches so that it's portable to different terminal types < 1203446413 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :ais523: basically, bash lets you run a command for a prompt < 1203446495 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :ais523: also, i have an idea < 1203446505 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :a prompt creation library < 1203446509 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :called Epic $PS1 < 1203446518 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :which lets you configure it emacs-style, and call various init functions on variables < 1203446520 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :to have it manage them < 1203446526 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :so prompt creation is a lot easier < 1203446528 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :since it's modular etc < 1203446532 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :your comment "also, i have an idea" reminded me of the adventure game in UMIX < 1203446540 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :you could make a prompt whose colour was the last exit code converted to rgb < 1203446541 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric ::D < 1203446565 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :it kept spouting stuff like "also, it is broken; it is missing a circuit board missing a (radio missing an antenna)" < 1203446590 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :the idea being that before long you would get bored and write a program to solve the puzzles, all of which were of the same nature and some of which were extremely long < 1203446591 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :heh < 1203446611 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :umix= < 1203446628 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :the main thing you interacted with in the 1006 ICFP < 1203446636 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :oh wait < 1203446639 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :is that the ancient machine < 1203446639 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :thing < 1203446641 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :yes < 1203446660 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :where they just give you some self-extracting bytecode containing most of the challenges and you have to write the VM yourself < 1203446661 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :i love icfp's award texts < 1203446684 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :if you ever try, I recommend writing the VM in C, because it needs to be extremely fast < 1203446697 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :heh, why? < 1203446702 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :I have a fast interp for it, but it assumes 32-bit pointers becaues it makes things simpler < 1203446713 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird`: because even with my fast interp the self-extract took about an hour < 1203446732 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :o.o < 1203446732 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :I had a Perl interp originally, but I got bored before the program even finished the selfcheck < 1203446759 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :even worse, I had to run it twice, because I didn't have anything capturing stdout the first time < 1203446788 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :obviously, I meant 2006, not 1006 < 1203446816 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :hah < 1203446840 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :on a similar note, does anyone know how to get past the wildcat in Lost Kingdoms? < 1203446846 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :I'm completely stumped < 1203446849 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :lmao < 1203446852 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :people play that? < 1203446855 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :i just wait until it starts. < 1203446859 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :to test my interps. < 1203446864 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :I have done, but I'm stuck on the wildcat < 1203446870 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :nothing I do seems to work < 1203446883 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :you can't go past it, because then it puts up a fake prompt and kills you whatever you type < 1203446885 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :ais523: what should i call that turtle-types language? < 1203446887 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :(logo? ;)) < 1203446889 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :but there's no obvious way to kill it either? < 1203446906 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :whenever I try, it just says "you can't see it clearly enough" or something similar < 1203446921 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :ais523: write a brainfuck interp that lets you serialize+reload a tape & program counter < 1203446923 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :then i'll try < 1203446924 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric ::P < 1203446933 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :shouldn't be too hard < 1203446946 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :ais523: well, then you have to play up to the wildcat and serialize. < 1203446947 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric ::P < 1203446953 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :so it'd better be pretty quick; for lostkng < 1203446971 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :I'll find a fast opensource bf interpreter and modify it a bit < 1203447001 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :ais523: bff.c < 1203447019 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :I would say 'mine' but it isn't written yet < 1203447034 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :oh < 1203447038 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :ais523: apparently http://mazonka.com/brainf/ is faster < 1203447046 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :than http://swapped.cc/bf/ < 1203447050 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :which used to have a pretty design. odd < 1203447050 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :I'm using the one that comes with Lost Kingdoms < 1203447090 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :yeah, that's slow < 1203447095 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :mazonka.com/brainf/ is a lot faster < 1203447099 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :and since you're saving more state < 1203447100 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :that's important < 1203447116 0 :habnabit!n=habnabit@cust-65-98-205-68.static.o1.com JOIN :#esoteric < 1203447120 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :http://mazonka.com/brainf/bff4.c with -DLNR < 1203447227 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :ais523: how do i print up to something matching a regexp in ed? < 1203447243 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :trying to edit some C with it :) < 1203447243 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :I don't know ed < 1203447255 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :in sed it would be 1../regexp/ p < 1203447262 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :and ed often uses the same commands < 1203447263 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :we need ised < 1203447264 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :but not always < 1203447265 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :interactive sed < 1203447269 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :I was writing that < 1203447271 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :in INTERCAL < 1203447279 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :heh < 1203447287 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :but I shelved it after a while to work on other things < 1203447311 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :it would have been quite a torture-test for the backtracking code if I finished it < 1203447323 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :ais523: ken thompson's favourite editor used to be ed < 1203447326 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :it was basically sed < 1203447345 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :then it was sam (ed, but with a gui: a top, scrollable command window, and various file buffers below, which just display the current file) < 1203447348 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :except that you could enter a blank line to cause everything since the last blank line to run as a self-contained program < 1203447355 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :(you could use the mouse and everything to move around windows and stuff) < 1203447360 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :but he may have moved on to acme < 1203447361 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :and there was an extra command 'display on screen' < 1203447408 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :ais523: ah, you don't want bff4 < 1203447411 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :it uses dbfi input < 1203447423 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :I can't modify it anyway < 1203447427 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :no explicit license agreement < 1203447435 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :ais523: you are PARANOID < 1203447448 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :no, I just like to stay legal < 1203447473 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :ais523: i am sure you could send off an email < 1203447478 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :in the esolang world, nobody cares < 1203447479 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :worse, bff has an explicit "all rights reserved" < 1203447502 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :so I'll stick to Lost Kingdom's interp < 1203447509 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :which is pretty responsive for me once it's loaded < 1203447587 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric : * The program is distributed under terms of BSD license. < 1203447587 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric : * You can obtain the copy of the license by visiting: < 1203447587 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric : * < 1203447587 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric : * http://www.opensource.org/licenses/bsd-license.php < 1203447587 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric : */ < 1203447589 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :from < 1203447591 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :bff.c < 1203447606 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :ais523: all rights reserved is just the readme < 1203447623 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :so hah < 1203447627 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :hmm... nice misleading license < 1203447639 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :yeah, well who cares, the source file says it's bsd -- that's what is important < 1203447655 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :let me finish working on the Lost Kingdom's version, anyway, as I've done quite a bit on that already < 1203447676 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :ais523: ok. but bff.c is crazy fast < 1203447733 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :it runs mandelbrot.b in 19sec on this old, crusty machine < 1203447757 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :ais523: btw, do you think Epic $PS1 is a good idea? :P < 1203447764 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :yes < 1203447770 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :I wouldn't use it but probably lots of people would < 1203447773 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :hehe < 1203447787 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :actually, I might use it just to test for you, but I'm reasonably happy with my current boring default prompt < 1203447803 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :on Windows (where I also run bash) my prompt is even more boring; I set it to a single $ < 1203447807 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :and a space < 1203447843 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :ais523: mostly, my prompt would be in the title < 1203447849 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :but i think two-line prompts are pretty good < 1203447850 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :imagine: < 1203447854 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric : < 1203447855 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :$ ... < 1203447860 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :where $ is a # when root < 1203447862 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :and bold < 1203447871 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :# is red < 1203447873 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :you should turn the entire line a different colour when you're root < 1203447877 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :yes < 1203447878 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :exactly < 1203447889 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :and, gets coloured according to the last commands output < 1203447891 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :or maybe even if the command merely starts with sudo, if there's some way to do that < 1203447893 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :when you're root, that's tinted red < 1203447906 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :so, '1' might give dark gray on normal < 1203447909 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :whereas 0 = blue < 1203447912 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :but on root < 1203447915 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :'1' = dark crimson < 1203447916 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :0 = red < 1203448035 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :ais523: hmm, i'm giong to take a hand at writing a fastfast brainfuck interp < 1203448042 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :i take it you're not interested? :-P < 1203448054 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :not immediately < 1203448060 0 :Tritonio_!unknown@unknown.invalid QUIT :"Bye..." < 1203448065 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :ais523: anyway, got that stateful interp yet? < 1203448072 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :almost finished writing < 1203448084 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :I probably would have done by now if it weren't for constantly seeing why #esoteric is flashing at me < 1203448088 0 :Tritonio_!n=Tritonio@150.140.225.238 JOIN :#esoteric < 1203448123 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :haha :( < 1203448146 0 :cherez!n=cherez@r12snw275.device.mst.edu JOIN :#esoteric < 1203448183 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :ais523: ok, what about turtles < 1203448284 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :typedef struct _turtle { < 1203448285 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric : struct _turtle *metatype; < 1203448285 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric : struct _turtle *type; < 1203448285 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric : struct _turtle *supertype; < 1203448285 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric : void *data; < 1203448285 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :} Turtle; < 1203448510 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :you know i've never implemented bignums < 1203448512 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric : i should do that sometime < 1203448523 0 :Asztal!unknown@unknown.invalid PRIVMSG #esoteric :it's boring ;) < 1203448525 0 :faxathisia!unknown@unknown.invalid PRIVMSG #esoteric :ehrid`: Sure you have *g* < 1203448537 0 :faxathisia!unknown@unknown.invalid PRIVMSG #esoteric :data N = Zero | Succ N < 1203448788 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :heh < 1203448790 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :i meant in c < 1203448902 0 :Tritonio_!unknown@unknown.invalid QUIT :"Bye..." < 1203449071 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :faxathisia: it's even easier than that < 1203449075 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :you just use type Integer... < 1203449226 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :thats not an implementation thugh. < 1203449732 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :hm < 1203449740 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :8 seconds to calculate 100000 < 1203449742 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :err < 1203449744 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :100000! < 1203449748 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :not bad < 1203450152 0 :Tritonio_!n=Tritonio@150.140.225.238 JOIN :#esoteric < 1203450209 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :ais523: hmm............ < 1203450216 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :should a bigint library handle negative numbers? < 1203450219 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :ah! of course, < 1203450224 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :on the root node i can just include a 'sign' bit < 1203450386 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :ais523: i'll just make the actual leaves unsigned long's tgeb < 1203450450 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :hmm < 1203450451 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :then < 1203450458 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :base = sizeof(unsigned long)*8 < 1203450713 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird`: I finished the bf serialiser/unserialiser < 1203450720 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :and I've played through to the wildcat bit < 1203450723 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :ok < 1203450727 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :show me the interp&serialized < 1203450728 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric ::) < 1203450745 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ACTION pastes < 1203450896 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :http://filebin.ca/ytdzpo/bf-ser.c < 1203450901 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :is the BF interp with serialisation < 1203450909 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :http://filebin.ca/hcaczt/wildcat.ser < 1203450916 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :is the save file for the point in the game I reached < 1203450930 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :ais523: you should handle SIGSUSPEND < 1203450932 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :aka ^Z < 1203450933 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :for serialize < 1203450937 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :what if i want to input ` < 1203450937 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric ::P < 1203450946 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :I don't think that comes up < 1203450954 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :but this is just a quick hack < 1203450954 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :well, what if i want to in some program :P < 1203450960 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :(and, with ^Z, you can display a prompt) < 1203450964 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :it doesn't support loops nested more than 63 deep either < 1203450972 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :I may improve it at some point < 1203450990 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :oh, and serialisations are always written to the file ./bf.ser, but you can rename/copy it once it's been created < 1203451002 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :to load from a serialisation, it's bf-ser < 1203451034 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :and type L when it loads, to get it to repeat the last prompt, or it's terribly out of context < 1203451124 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :hmm < 1203451133 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :checking whether some integer operations overflows in c is.. hard < 1203451158 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :ais523: link to lostkng.b? < 1203451165 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :i lost it < 1203451210 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :looking for it now < 1203451212 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :damn, you can't even do: < 1203451227 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :(a+b) or space < 1203451519 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :to give the commands < 1203451549 0 :cherez!n=cherez@r12snw275.device.mst.edu JOIN :#esoteric < 1203451550 0 :cherez!unknown@unknown.invalid QUIT :Remote closed the connection < 1203451565 0 :cherez!n=cherez@r12snw275.device.mst.edu JOIN :#esoteric < 1203451565 0 :cherez!unknown@unknown.invalid QUIT :Remote closed the connection < 1203451602 0 :cherez!n=cherez@r12snw275.device.mst.edu JOIN :#esoteric < 1203451602 0 :cherez!unknown@unknown.invalid QUIT :Remote closed the connection < 1203451624 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :ais523: what about that axe you have..? < 1203451630 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :try using it < 1203451632 0 :cherez!n=cherez@r12snw275.device.mst.edu JOIN :#esoteric < 1203451634 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :it doesn't work because you can't aim it < 1203451644 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :i did but i don't know the controls properly so im having trouble. < 1203451644 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :BTW, I'm pretty sure I've got all the items in the game up to that point < 1203451655 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :killing the cat doesn't work < 1203451660 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :throwing the axe at the cat doesn't work < 1203451668 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :and walking deeper kills you < 1203451689 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :ais523: its a port of an older game < 1203451696 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :so why not look around for that one < 1203451704 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :written in BASIC IIRC < 1203451710 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :one thing I tried was to write a decompiler < 1203451718 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :but when I found there were unbalanced loops I gave up < 1203451733 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :maybe I should find a copy of BFBASIC and see if I can write something to reverse its effect < 1203451749 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :ais523: < 1203451750 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :>h 1 < 1203451750 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :You hear the creature stir but the beast remains hidden. < 1203451759 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :and ... more than just from BFBASIC: < 1203451764 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :http://jonripley.com/i-fiction/games/LostKingdom.html < 1203451775 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :you just threw away your box of matches! < 1203451779 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :how could you! < 1203451782 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :no < 1203451785 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :my rusty old lamp. < 1203451788 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :...and yes, I tried that as well < 1203451789 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :but it made the creature stir < 1203451794 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :sorry, misread the number < 1203451798 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :but I tried that too < 1203451805 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :no inventory works < 1203451833 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :sorry, ais523 -- i think it's a dead end < 1203451843 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :there is nowhere else < 1203451851 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :and that area was well-guarded < 1203451886 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :LostKingdom,ffb is the Acorn BBC BASIC version. < 1203451887 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :LostKingdom.bbc is the non-Acorn BBC BASIC version. < 1203451892 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :i believe those are sources. < 1203451897 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ACTION has actually written BBC Basic < 1203451904 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :but those sources don't correspond to the BF version < 1203451906 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :oh they appear to be binary files < 1203451992 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :yes, they are < 1203451998 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :and with no recognisable text fragments < 1203452013 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :most of the text was new for the BF version, anyway, IIRC < 1203452051 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :ais523: We need an esolang that is optimized for writing Hunt the Wumpus and simmilar. < 1203452053 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :Befunge does a good job of it. < 1203452088 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :http://en.wikipedia.org/wiki/Image:Wumpus.jpg wow, the wumpus SO does not look like that < 1203452104 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :The wumpus looks like a walrus, but bigger, and stands more on its hind legs. < 1203452110 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :and eviller. red eyes. < 1203452137 0 :uvanta!unknown@unknown.invalid QUIT :"사회주ì˜ì  ì‹ ë…, ìžì—°ì£¼ì˜ì  ì´ì„±" < 1203452270 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :what's the best befunge interp out there? < 1203452272 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :that recompiling one < 1203452291 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ccbi is apparently the only standard-compilant Funge-98 interp, so that's the one I use < 1203452335 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :and Funge-98 > Befunge-93 in so many ways < 1203452355 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :TC-ness, for one < 1203452362 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :i like -93 more. < 1203452364 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :it's simpler. < 1203452370 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :98 is such complex crap. < 1203452375 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :-93 + infinite board = yum < 1203452390 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :besides < 1203452396 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :98 is 93+infinite board+actual specifications for some things that weren't specified before < 1203452397 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :the bef wumpus is written in -93 < 1203452402 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :ais523: + complex crap < 1203452404 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :and a whole lot of useful commands that you can ignore if you like < 1203452413 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :http://catseye.tc/projects/befunge93/eg/wumpus.bf hunt the befunge-93 < 1203452427 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird`: input behaviour on EOF is something that badly needed specifying < 1203452438 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :brainfuck does fine without < 1203452442 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :no it doesn't < 1203452453 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :the EOF thing is responsible for most BF incompatibilities < 1203452460 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :BF would be a much better lang without that particular problem < 1203452469 0 :olsner!n=salparot@cust.fiber-lan.vnet.lk.85.194.50.194.stunet.se JOIN :#esoteric < 1203452470 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :and it's pretty good as it is < 1203452516 0 :chere1!n=cherez@131.151.190.166 JOIN :#esoteric < 1203452517 0 :chere1!unknown@unknown.invalid QUIT :Remote closed the connection < 1203452521 0 :chere1!n=cherez@131.151.190.166 JOIN :#esoteric < 1203452522 0 :chere1!unknown@unknown.invalid QUIT :Remote closed the connection < 1203452536 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :on another note, I'm working on an esolang-based text adventure < 1203452538 0 :cherez!unknown@unknown.invalid QUIT :"Leaving." < 1203452539 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :speaking of which i should write a brainfuck specification < 1203452539 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :formally < 1203452540 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :in TeX < 1203452544 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :or texinfo < 1203452550 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :that is, esolangs form the basis of the plot < 1203452557 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :although the adventure is itself written in C < 1203452565 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ACTION likes texinfo < 1203452578 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :so far I have a BF-based, INTERCAL-based, and SMETANA-based puzzle < 1203452605 0 :cherez!n=cherez@131.151.190.166 JOIN :#esoteric < 1203452615 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :in most of the puzzles, the player plays an intelligent IP that can choose to change direction out of free will and execute a different set of commands < 1203452635 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :and some of the langs were made 2D so that people could walk around them in a more interesting way < 1203452647 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :it's slow going, though, because good puzzle ideas are hard to come by < 1203452669 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :ais523: why write in c? < 1203452678 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :because I started it years ago < 1203452690 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :back when I was mostly writing C in files with a .cpp extension < 1203452695 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :because I didn't really realise the difference < 1203452704 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :it would be easy enough to translate, if necessary < 1203452718 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :oh, and the portability's the other reason < 1203452832 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :ais523: Ok -- < 1203452840 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :I think I want to write Be Your Funge. < 1203452846 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :It's FukYorBrane, but for befunge. < 1203452854 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :(93, of course -- the limitations are an advantage) < 1203452860 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :in this case, yes < 1203452875 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :FYB's main problem, by the way, is that [] loops can run for 0 repetitions < 1203452878 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :ais523: Actually, I think it will be short. < 1203452882 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :and < 1203452884 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :that's an advantage < 1203452887 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :it's a strategy < 1203452895 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :If I ever hold a FYB contest, I'll force them to run at least once each < 1203452901 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :rubbish < 1203452916 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :otherwise you can just start your program by defecting, pointing at a NOP, and skipping 100000000000000 bytes of junk < 1203452928 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :and do whatever you like because the opponent can only move their data pointer one step at a time < 1203452952 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :so you have trillions of instruction cycles before the opponent can get anywhere near affecting your program < 1203453000 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :it leads to degenerate competitions where the length of the original junk is all that determines who wins < 1203453012 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :ais523: beyourfunge will use p and g < 1203453015 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :to point at the opponent < 1203453022 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :naturally < 1203453069 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :ais523: um, should i do: < 1203453072 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :run ins on A < 1203453073 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :run ins on B < 1203453074 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :... < 1203453077 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :or something more sophisciated? < 1203453088 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :although you lose one thing I liked about fyb, which was that setting a square to a bomb was much harder than setting it to a low-numbered instruction in terms of time spent < 1203453102 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird`: alternate either instructions or torus squares < 1203453116 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :probably instructions as that's how most of the commands seem to be defined < 1203453120 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :i.e. spaces take 0 time to run < 1203453142 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :oh, it's also probably a good idea to have some way to determine where the enemy instruction pointer is < 1203453156 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :ais523: my way is nicer because it requires no language extensions < 1203453164 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :maybe radar-style: "how many spaces from point (x,y) is the enemy IP?" < 1203453176 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :assuming a sitting duck B, a non-modifying (of its own code) befunge program will behave normally < 1203453179 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :otherwise you either have to analyse the enemy program (ridiculously time-consuming) or guess < 1203453189 0 :cherez!unknown@unknown.invalid QUIT :"Leaving." < 1203453191 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :ais523: well, are you sure spaces should take 0 to run? < 1203453205 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :not sure < 1203453211 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :but it fits the language better < 1203453223 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :and it doesn't make too much difference in terms of making the IP hard to find < 1203453270 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :because in a 2D language like Befunge it's hard enough anyway < 1203453307 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :if there's no way to pinpoint the enemy IP, programs are effectively just going to be guessing where to put bombs (quit instructions?), or else covering the entire torus systematically < 1203453314 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :and I can't see much of a scope for better strategies < 1203453677 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :@ end program is indeed the bomb < 1203453722 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :hmm, ais523 --- how else do you end a prog in befunge apart from @? < 1203453730 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :you don't < 1203453736 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :Funge-98 has q as well, though < 1203453822 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :ais523: how big are befunge stack elements? < 1203453832 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :normally 32-bit signed integers < 1203453854 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :ais523: linked list stack or.. < 1203453865 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :the stack is infinite < 1203453871 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :making Befunge-93 a PDA < 1203453874 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :OK. < 1203454010 0 :slereah_!unknown@unknown.invalid QUIT :Read error: 104 (Connection reset by peer) < 1203454024 0 :slereah_!n=slereah@ANantes-252-1-34-30.w82-126.abo.wanadoo.fr JOIN :#esoteric < 1203454211 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :right=0 < 1203454212 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :left=1 < 1203454213 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :up=2 < 1203454215 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :down=3 < 1203454260 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :what, no diagonally? Now I remember another reason why I don't like Befunge-93 < 1203454303 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :ais523: horizontal if is: < 1203454315 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :if(pop()){d=left;}else{d=right} < 1203454319 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :and up/down for vertical < 1203454320 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :correct? < 1203454330 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :for some reason I only memorised horizontal < 1203454335 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :but it goes left on non-zero, yes < 1203454344 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric : * _ acts like < if the value is true or > if it is false; and < 1203454344 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric : * | acts like ^ if the value is true or v if it is false. < 1203454355 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :so right on both counts < 1203454363 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :right as in correct, that is < 1203454365 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric : if (pop(s, n)) { < 1203454366 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric : *d = 1; < 1203454366 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric : } else { < 1203454366 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric : *d = 0; < 1203454366 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric : } < 1203454367 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :---> < 1203454371 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :*d = pop(s, n) % 2; < 1203454372 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric ::D < 1203454379 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :i think < 1203454379 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :no < 1203454381 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :oh < 1203454381 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :no < 1203454383 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :of course < 1203454384 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :damn < 1203454387 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :is there any way to do that? < 1203454390 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :ah < 1203454395 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :*d = pop(s, n) & 1;; < 1203454395 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :*d = !!pop(s,n) < 1203454399 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :hmm < 1203454401 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :&1 is also wrong < 1203454403 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :oh < 1203454404 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :&& 1 < 1203454405 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :heh < 1203454408 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :because even values > 1 have to give true < 1203454410 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :&& 1 works < 1203454414 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :but !! is shorter and more idiomatic < 1203454443 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :then | is !!pop(s,n)+2 < 1203454444 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :right? < 1203454451 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :if ^ = 2 and v = 4 < 1203454452 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :*3 < 1203454490 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :no < 1203454496 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :!pop(s,n)+2 < 1203454505 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :because true needs to give 3 and false needs to give 4 < 1203454519 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :so only one exclamation mark, to reverse the sense of the test < 1203454598 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :ais523: on an unrelated note, my stringmode handler in an 'if' jumps to a goto inside the else branch < 1203454609 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :that's fine < 1203454612 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :yes < 1203454613 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :but amusing < 1203454616 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :if a little unusual < 1203454633 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :ais523: I could structure it more without goto. But there are about 5 lines between jump and label. < 1203454637 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :So I don't think it's important. < 1203454934 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :ais523: stack for g < 1203454935 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :x y < 1203454937 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :or y x < 1203454946 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :can't remember < 1203454951 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :probably wisest to look it up < 1203455040 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird`: y is on top of the stack, according to the original docs < 1203455100 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :i just looked it up < 1203455100 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :heh < 1203455100 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric ::) < 1203455147 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :the main thing to be careful of is # < 1203455159 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :which apparently skips all whitespace in the IP's direction, and the next non-whitespace character < 1203455182 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :ais523: it does?? < 1203455187 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :I think; I'm just looking it up again < 1203455188 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :skip whitespace, that is < 1203455192 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :it seems to not skip whitespace < 1203455220 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :hmm... the spec is ambiguous about that < 1203455232 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :what does the ref interp do? < 1203455240 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :i can't find it < 1203455241 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric ::P < 1203455280 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :http://quadium.net/funge/tbc/core.int < 1203455321 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :hm < 1203455322 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :x += dx < 1203455324 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :let's find dx.. < 1203455330 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :ah < 1203455332 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :ais523: you're wrong < 1203455334 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :it just steps one < 1203455335 0 :Asztal!unknown@unknown.invalid QUIT :Read error: 104 (Connection reset by peer) < 1203455340 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :you're right < 1203455352 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :I was thinking of the complicated situation when there's a # at the end of a line < 1203455358 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :and the line is not exactly 80 chars long < 1203455362 0 :Asztal!n=asztal@cpc1-stkn2-0-0-cust786.midd.cable.ntl.com JOIN :#esoteric < 1203455364 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :ais523: should I disable IO in Be Your Funge programs? < 1203455378 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :or will the multithreaded outputfuck be funny :D < 1203455383 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :(and the inputfuck, well, useless i guess :D) < 1203455396 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :ais523: and hm < 1203455396 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :allowing input would mean that you would have to generate the input somehow < 1203455402 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :in mine that would advance it into the next space < 1203455404 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :is that correct? < 1203455410 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :you could do it like Easy, where the input is embedded in the program < 1203455424 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird`: jumping over the edge is undefined < 1203455435 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :ok < 1203455435 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :many interps do it differently for horizontal and vertical < 1203455438 0 :Sgeo[College]!i=897d285c@gateway/web/ajax/mibbit.com/x-e771e7a67e609c17 JOIN :#esoteric < 1203455438 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :then who cares what happens < 1203455441 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :right? < 1203455443 0 :Sgeo[College]!unknown@unknown.invalid PRIVMSG #esoteric :Hi all < 1203455447 0 :Sgeo[College]!unknown@unknown.invalid PRIVMSG #esoteric :Hi all < 1203455448 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :so the testsuite measures what happens but doesn't give it a pass or fail < 1203455449 0 :Sgeo[College]!unknown@unknown.invalid PRIVMSG #esoteric :Hi all < 1203455449 0 :Sgeo[College]!unknown@unknown.invalid PRIVMSG #esoteric :Hi all < 1203455449 0 :Sgeo[College]!unknown@unknown.invalid PRIVMSG #esoteric :Hi all < 1203455450 0 :Sgeo[College]!unknown@unknown.invalid PRIVMSG #esoteric :Hi all < 1203455450 0 :Sgeo[College]!unknown@unknown.invalid PRIVMSG #esoteric :Hi all < 1203455451 0 :Sgeo[College]!unknown@unknown.invalid PRIVMSG #esoteric :Hi all < 1203455453 0 :Sgeo[College]!unknown@unknown.invalid PRIVMSG #esoteric :Hi all < 1203455453 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo[College]: Go to hell. < 1203455455 0 :Sgeo[College]!unknown@unknown.invalid PRIVMSG #esoteric :Hi all < 1203455455 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :and hi Sgeo < 1203455457 0 :Sgeo[College]!unknown@unknown.invalid PRIVMSG #esoteric :Hi all < 1203455459 0 :Sgeo[College]!unknown@unknown.invalid PRIVMSG #esoteric :Hi all < 1203455461 0 :Sgeo[College]!unknown@unknown.invalid PRIVMSG #esoteric :Hi all < 1203455462 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :Shut the fuck up. < 1203455463 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :but stop spamming, there's something wrong with your client < 1203455466 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :oh < 1203455468 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :is it his client < 1203455472 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :must be surely? < 1203455473 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :i thought he was being highly annoying < 1203455474 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric ::| < 1203455497 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :ais523: and also < 1203455500 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :must be the client < 1203455500 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :in Easy the program is 'RUN' < 1203455502 0 :faxathisia!unknown@unknown.invalid PRIVMSG #esoteric :lol wtf < 1203455503 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :no input there! < 1203455508 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :as it isn't responding to ctcp version or ping < 1203455516 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :its an ajax one < 1203455517 0 :Sgeo[College]!unknown@unknown.invalid PRIVMSG #esoteric :Client I think *winces* < 1203455518 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :mibbit.com < 1203455526 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird`: I treat an Easy program as being what's typed into stdin < 1203455532 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :so the input and program are all mixed up < 1203455533 0 :faxathisia!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo[College]: you soid Hi all about 50 times! < 1203455538 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :ais523: but easy is all about being pedantic with things like that < 1203455540 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :it leads to some nicer programs, though < 1203455545 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :Hello, world in Easy: < 1203455555 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :ais523: anyway, what do undefined instructions do in befunge-93?? < 1203455562 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :s/\?\?/?/ < 1203455564 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :,H.,e.,l.,l.,o.,,., .,w.,o.,r.,l.,d. < 1203455590 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird`: error in befunge-93 < 1203455621 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :in Funge-98 pretty much all errors, including undefined instructions, cause a rebound where the IP changes direction 180 degrees < 1203455728 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :ACTION figures out shortest way to do 1->2,2->1 < 1203455761 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :the classic a^=b^=a^=b is unfortunately not portable, and is technically undefined behaviour < 1203455773 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :ais523: i mean < 1203455775 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :1 maps to 2 < 1203455777 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :2 maps to 1 < 1203455784 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :3-x < 1203455859 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :although that's a classic INTERCAL problem (as 1 and 2 are the usual logic levels), with the usual answer being something like '?#1$.1'~#3 < 1203455882 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :i.e. premingle 1, take XOR of consecutive bits, select the bottom two bits < 1203455959 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird`: http://esoteric.voxelperfect.net/files/befunge/src/kquine.bf that's insane < 1203455967 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :can't figure out whether it counts as a cheat or not... < 1203456028 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :the code is simultaneously inside and outside a string due to the unmatched string delimiter < 1203456046 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :so it reads it as data, then when the IP overflows, it hits the original string delimiter and re-reads the program as code... < 1203456093 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :that's not cheating < 1203456098 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :that's how you do befunge quines < 1203456126 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :ais523: whoa, awesome -- byf is 255 lines XD < 1203456130 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :256 lines counting last \n < 1203456138 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :i must not add another line < 1203456138 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric ::P < 1203456140 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :have you finished writing it already, then? < 1203456147 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :first prototype < 1203456149 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :hasn't even been compiled < 1203456162 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :besides, you ought to fit it into a space 80x25, really < 1203456165 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :i wrote it all without compiling it < 1203456167 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric ::P < 1203456177 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :ais523: even with huge obfuscation and minimalization, i don't think that would be possible < 1203456188 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :you can write multiple commands on a line < 1203456199 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :whoa, more than a SCREENFUL of errors!!!!!!! < 1203456201 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :ais523: of course < 1203456203 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :or just string assignments together with commas < 1203456207 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :yes < 1203456208 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :but even so. < 1203456217 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ACTION has seen entire C programs written in a single statement < 1203456222 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :byf.c:8: warning: built-in function ‘y1’ declared as non-function < 1203456225 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :'y1' is a built in function? < 1203456227 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :what the fuck does that do? < 1203456242 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :try recompiling with -ansi < 1203456250 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :y1 certainly isn't a reserved identifier < 1203456250 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :ah < 1203456252 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :it's math.h stuff < 1203456253 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :bastards < 1203456254 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric ::P < 1203456264 0 :Sgeo[College]!unknown@unknown.invalid QUIT :"http://www.mibbit.com ajax IRC Client" < 1203456299 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :incidentally, a shorter Easy Hello, world!: ,[.,]Hello, world\0 < 1203456303 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :where \0 is the NUL character < 1203456316 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :sorry, ,H[.,]ello, world!\0 < 1203456511 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :ais523: urgh < 1203456519 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :gcc insists char [x][y] < 1203456525 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :is really really different from char ** < 1203456531 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :and comparisons without casts - well, i'd better warn you! < 1203456535 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :it is very different < 1203456539 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :because of the sizeof issue < 1203456541 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :ais523: not in this context < 1203456542 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :sdfjksdf < 1203456548 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :and i think warning about it by default is evil < 1203456550 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :very evil < 1203456556 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :OK, but does gcc realise that it's different in this context? < 1203456569 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :ais523: no but it can not warn about it by default!! < 1203456585 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :which warning flags are you using? < 1203456586 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :gcc should have an -fi-dont-know-c for the newbies that does do the while (x=y) warnings < 1203456590 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :and can you paste the code? < 1203456595 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :and by default let you do stuff like while (x=y) without doing while ((x=y)) < 1203456599 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :ais523: none, suprisingly < 1203456604 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :it warns about it with no flags at all < 1203456604 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :and BTW, you can turn that one off by writing while ((x=y)) which is deliberate < 1203456605 0 :habnabit!unknown@unknown.invalid QUIT :Read error: 110 (Connection timed out) < 1203456606 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :well -- -ansi :) < 1203456610 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :ais523: see above. < 1203456612 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :that's **lame** < 1203456652 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :it at least reminds me which of my single-=s are deliberate < 1203456653 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :I tend to put double parens around any = whose value is used in a situation more complicated than a=b=c < 1203456658 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :to remind me that's what I meant < 1203456661 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :and to tell gcc that's what I meant < 1203456672 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :and it doesn't disrupt other compilers because it's still legal C < 1203456693 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :personally i write c code that compilers should shut up and compile < 1203456701 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :and it's still clear < 1203456706 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :just not annotated for a bloody program < 1203456709 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric ::) < 1203456723 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :though it must be said... < 1203456732 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :byf.c only has one comment, and that's the top-of-file header < 1203456738 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :the rest is pretty much self-evident.. it's not complex < 1203456752 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :the fact that some programmers have got into the habit of writing while(0==x) shows that some way of marking deliberate = signs is needed < 1203456758 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :assuming you have an editor which can jump between definitions properly - concepts aren't introduced in a chronological order :P < 1203456765 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :ais523: only bad programmers. < 1203456770 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :IMO. :P < 1203456792 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :I consider myself to not be a bad programmer, but still typo a==b on occasion < 1203456805 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :editors can help here < 1203456808 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :not compilers < 1203456826 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :yes, but sometimes I don't have access to a decent editor < 1203456833 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :I'm not always on this computer, after all... < 1203456849 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :and wouldn't you still have to write ((a=b)) to tell your editor it was deliberate? < 1203456887 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :no < 1203456891 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :it can just highlight it differently < 1203456902 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric : step(p1, &s1, &x1, &y1, &d1, &sm1, 1); < 1203456908 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :does & not result in t -> t *? < 1203456915 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :void step(char p[25][80], bef_stack_t **s, int *x, int *y, int *d, int *sm, < 1203456916 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric : int n) < 1203456943 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird`: when you look back at the code a while later, you need to know if it was deliberate < 1203456956 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :ais523: generally, the context explains that for me < 1203456961 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :and & gives you the address of a non-array variable < 1203456972 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :right < 1203456976 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :which should do int -> int * < 1203456977 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :or the address of the first element of an array variable < 1203456980 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :but gcc says incompatible pointer type < 1203456986 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :which is the same tpe as the array < 1203456992 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird`: which arg? < 1203456999 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :and what is the type of the variable you're &ing? < 1203457003 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :ais523: 3&4 < 1203457013 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :oh < 1203457017 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :x and y are chars < 1203457021 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :because they only store 25 and 80 < 1203457026 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :duhhhh < 1203457027 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric ::) < 1203457058 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :actually, ais523 -- < 1203457070 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :typedef union { char v:1; } onebyteunion; < 1203457072 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :i wish you could do: < 1203457079 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :char v:1; < 1203457080 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :and: < 1203457086 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :typedef char bit:1; < 1203457101 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :some compilers allow that < 1203457107 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :but taking the address of a bit would be too difficult < 1203457121 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :the compiler would have to store bits in separate bytes, avoiding the benefits < 1203457140 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :ais523: true... but it would be nice if you could do < 1203457142 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :the compilers that do allow it are generally for microcontrollers and other small devices that need the memory saving < 1203457147 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :typedef char boolean:1; < 1203457150 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :is the usage i was imagining < 1203457158 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :and a variable that acts like it's one bit is available as _Bool in C99 < 1203457164 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :yes but it's actually bigger < 1203457168 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :as in, _Bool is the data type to declare it as < 1203457178 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :ais523: http://rafb.net/p/626wHG90.html i think p and g have off-by-one errors here.. < 1203457179 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :and it's actually bigger because it needs to be for the computer to handle it well < 1203457189 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :but my head doesn't want to wrap itself around it :-) < 1203457250 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :(0,0) is the top-left corner of the playfield < 1203457273 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :so there's nothing obviously wrong with the code with respect to off-by-one < 1203457280 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :i mean < 1203457281 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :b vs a < 1203457287 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :i think i have the order mixed up < 1203457289 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :so i hear about this PSOX thing < 1203457291 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :is it any good < 1203457300 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: no < 1203457305 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: yes < 1203457318 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo just left, though, and they're probably the best person to ask for information < 1203457320 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: no < 1203457327 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :although ehird` and Sgeo have been arguing about its merits for a while < 1203457331 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :ais523: singular they club??!?! *high-5* < 1203457338 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :ais523: i know it all, just being an oklopol. < 1203457346 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ACTION has even been known to refer to themselves using singular they < 1203457353 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :or maybe that should be themself... < 1203457360 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :I normally use themself, actually < 1203457365 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :just woke up, and it's 11:46 pm :) < 1203457365 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :ais523: '* ais523 has' < 1203457368 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :that reads realy badly < 1203457376 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :why does my sleep cycle always end up fucked up < 1203457388 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :themself would have been better, I just typed the wrong thing < 1203457440 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :ais523: i know what you use. not much gets past me that happens here. < 1203457471 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ehird`: if byf doesn't have a defect instruction, or some way to modify your own source, then there's no sensible way for a program to detect and clean up @-bombs the enemy's aiming at it < 1203457479 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :although i had a week of self-searching a while ago, and actually missed some of the logs :| < 1203457504 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :ais523: what about my a/b mixup though? ... i want to fix that first < 1203457505 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric ::-) < 1203457561 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :y-coordinate is on the top of the stack < 1203457577 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :the nit is mixed up < 1203457594 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :so if you're doing p1[x][y], p and g have a and b the wrong way round < 1203457620 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :ehird@ehird-desktop: ~/byf < 1203457621 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :$ ./byf wumpus.bf wumpus.bf < 1203457621 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :Unknown command 0 in program -1209218860 < 1203457623 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :wowzers :D < 1203457668 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :fixed the program < 1203457671 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :but still unknown command 0 < 1203457671 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :oh < 1203457672 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :of course < 1203457673 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :i need digits < 1203457674 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :you didn't pass the second data arg to fprintf at all < 1203457678 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :and yes < 1203457686 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :I think -Wall warns you about that nowadays < 1203457805 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric : if (p[*x][*y] >= '0' && p[*x][*y] <= '9') { < 1203457805 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric : push(s, p[*x][*y] - '0'); < 1203457806 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :} < 1203457813 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :ais523: it looks just like the original atoi! :) < 1203457836 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :good thing C89 and C99 both insist that '0' to '9' be contiguous < 1203457861 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :although they don't guarantee that sort of thing for any other set of characters, due to EBCDIC < 1203457876 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :ais523: Which is better - a deflect instruction or two new p/g alikes? < 1203457889 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :probably p/g-alikes < 1203457908 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :that saves the problem of special-casing dropping defects into the opponent's code < 1203457935 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :ais523: i'll reuse input&output chars < 1203457937 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :'cause i'm evil < 1203457941 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :and like breaking existing programs < 1203457944 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :multithreading may or may not be useful, too; FYB certainly does it a lot < 1203458011 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :ais523: yikes! that would be non-trivial with my current design. < 1203458015 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :well, i could use fork() < 1203458019 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :but pthreads... urrrgh, pthreads. < 1203458047 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :ais523: . or , for 'put to this program' < 1203458060 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :i think , < 1203458061 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :since it's for ascii < 1203458073 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :I suppose you could just have g and p to aim at yourself, as usual, and . and , could aim at the opponent < 1203458108 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :or other variations thereof, . and , would be mean as they're two versions of the same instruction < 1203458110 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :ais523: should i come up with entirely new names, then? < 1203458116 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :no < 1203458119 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :ok < 1203458126 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :yeah i guess not - breaking existing programs is FUN! :) < 1203458131 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :use an input instruction and an output instruction < 1203458136 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :ok < 1203458139 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :rather than two output instructions, one of which does input... < 1203458204 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :ais523: OK < 1203458211 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :so, standard BF command characters, sans & and . < 1203458221 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :and IO instructions work like g and p on the other person's board < 1203458230 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :ais523: do i need a 'find IP' instruction? < 1203458241 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :I think so < 1203458257 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :maybe that just pushes its coords on the stack, but that might make things too easy < 1203458276 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :maybe a 'distance from my IP to the enemy IP'; that would be interesting! < 1203458289 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :you'd have to check at lots of different points in your own program < 1203458295 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :encouraging people to spread about a bit < 1203458320 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :ais523: pushing coords to the stack would not be easy < 1203458325 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :well, maybe < 1203458340 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :you just instantly write a @ where the opponent was, and repeat continuously < 1203458342 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :you could constantly do it, add one @ to x+1 and one @ to y+1 < 1203458346 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :haha < 1203458350 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :we think alike < 1203458362 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :ok, distance from my ip would work but then you'd need to get your own ip < 1203458370 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :you know where it is < 1203458373 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :and your radar idea is kind of crappy -- it would be mostly shooting in the dark < 1203458381 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :yes, I agree < 1203458401 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :maybe you find out where the enemy IP was x cycles ago, where x is some positive number < 1203458411 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :ais523: if you do '1', then you can just do the same trick, but add 2 < 1203458422 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :you don't get to choose x < 1203458427 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :it's, say, 10 < 1203458447 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :so programs in tight loops, or that twist and turn, avoid that strategy < 1203458464 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :but tight loops are risky because you can aim at where the opponent was in the hope they'll go back to that square again < 1203458639 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :ais523: hmm < 1203458642 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :i can't decide which would be the best < 1203458647 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :i mean -- how does fukyourbrane avoid this? < 1203458667 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :it has a 'loop until my data pointer is the same as the enemy's instruction pointer' loop < 1203458675 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :which works better in a 1D language than a 2D language < 1203458736 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :ais523: yeah. < 1203458736 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :oh, i know! < 1203458736 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :how about a < 1203458736 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :'make my ip the enemy's ip' < 1203458736 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :XD < 1203458736 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :you'd have to be 're-entrant'... haha < 1203458745 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :that seems a bit too random for me < 1203458755 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :indeed. < 1203458773 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :maybe you could place some sort of 'warning beacon' in your own code < 1203458774 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :on another note, zzo38 is not very good at designing web apps; http://zzo38computer.cjb.net/chrono/zzo38/mainpage is basically inscrutable < 1203458824 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :http://zzo38computer.cjb.net/chrono/_show_source yikes < 1203458826 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :I understand it < 1203458830 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :the UI, that is < 1203458875 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :it's very awkward < 1203458898 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :reminds me of an old bbs system, actually. < 1203458907 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :yeah. < 1203458912 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :hmm... is it usual to use changequote(#,|) in m4? < 1203458919 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :that's what I'm doing right now < 1203458920 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :it woludn't be so bad without the crossed-out buttons. < 1203458946 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :zzo38's ideas are quite odd in general, actually < 1203458948 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :second post on this blog: < 1203458949 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :'I invented a Sub-Wikipedia in ScribbleWiki. You can use it for anything, but mostly for things that isn't on Wikipedia because some administrators deleted it or whatever, maybe because there aren't enough verifiable sources, or maybe for some other reason.' < 1203458953 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :read as: < 1203458957 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :many people have had that idea < 1203458959 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :'trashcan of non-notable crap wiki' < 1203458969 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :ACTION is a Wikipedia administrator < 1203458977 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :ais523: yes, i know you're a wp admin :P < 1203458981 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :so I know more about the problem than most < 1203458987 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :before even coming to #esoteric i kept seeing you dotted around the talk pages, actually < 1203459009 0 :cherez!n=cherez@r12snw275.device.mst.edu JOIN :#esoteric < 1203459017 0 :cherez!unknown@unknown.invalid PART #esoteric :? < 1203459023 0 :cherez!n=cherez@r12snw275.device.mst.edu JOIN :#esoteric < 1203459025 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :http://subwikipedia.scribblewiki.com/Special:Recentchanges active thing. < 1203459064 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :http://en.wikipedia.org/wiki/Special:Search?go=Go&search=Nine on that wiki is pretty interesting < 1203459078 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :no idea if it's meant to be true or humorous or both, though < 1203459083 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :it's .. barely interesting < 1203459084 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric ::P < 1203459094 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :interesting in the attitude it shows, anyway < 1203459106 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :you can probably tell a lot about people from random wiki scribbles < 1203459123 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :just like the way I tried to implement a cyclic tag system in MediaWiki once < 1203459141 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :http://zzo38computer.cjb.net/chrono/zzo38/1198908097 < 1203459171 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :wow, he's a nut < 1203459178 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :lament: quite < 1203459183 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :but his esolangs are good < 1203459188 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :'It's sometimes claimed that prayer doesn't work, it doesn't increase the probability of getting whatever you prayed for. I think probabilities are not calculated like that. I also think that assigning material efficacy to prayer is like greed, and greed should be avoided.' < 1203459194 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :i don't see how else you should calculate probabilities < 1203459197 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :a typical, run-of-the-mill math cook < 1203459201 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :.. he's probably in here right now, being offended < 1203459207 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :lament: he did make TwoDucks.. < 1203459214 0 :bsmntbombdood!n=gavin_@75-166-180-115.hlrn.qwest.net JOIN :#esoteric < 1203459226 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :And, well, all of these: http://esolangs.org/wiki/User:Zzo38 < 1203459229 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :TwoDucks is great < 1203459255 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :does anyone know if english is his first language? < 1203459261 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :i hope not but i can't find any source of him using another < 1203459265 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :wow, I knew zzo38 had made a lot, but didn't realise it was quite that many < 1203459347 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :you know what would be cool? < 1203459348 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :a gopher cgi. < 1203459348 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :imagine a gopher blog < 1203459348 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :even better, make it stateful < 1203459348 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :or a gopher bbs < 1203459348 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :yes < 1203459352 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :... < 1203459355 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :continuation-based gopher server. < 1203459361 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :so that if only one user uses it at a time, you can actually send instructions just by following a certain pattern of links < 1203459361 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :THAT WOULD BE SO AWESOME < 1203459378 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :continuation-based websites would be interesting enough by themselves < 1203459383 0 :ais523!unknown@unknown.invalid PRIVMSG #esoteric :anyway, I'm being thrown out again... < 1203459390 0 :ais523!unknown@unknown.invalid QUIT :"about to lose my Internet connection" < 1203459393 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :ais523: continuation based websites have already been done... < 1203459396 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :... crap < 1203459414 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :ok < 1203459420 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: interested in Be Your Funge? < 1203459426 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :(Fuk yor brane for befunge-93) < 1203459628 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :the name is awesome at least < 1203459631 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: yes < 1203459632 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :well < 1203459636 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i never tried fukyorbrane < 1203459642 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: do you know wo it works? < 1203459644 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :hi oklopol < 1203459652 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i've read the spec < 1203459655 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :ok < 1203459663 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :so, i vaguely know how it works. < 1203459666 0 :Tritonio_!unknown@unknown.invalid QUIT :Remote closed the connection < 1203459666 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :bsmntbombdood: hi :) < 1203459667 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :so, oklopol -- i have instructions like 'p' and 'g' but on the opponents program < 1203459676 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :now, how should a program determine where the enemy's ip is? < 1203459682 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :just getting it as a value makes a perfect program too easy < 1203459686 0 :Tritonio_!n=Tritonio@150.140.225.238 JOIN :#esoteric < 1203459695 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :bsmntbombdood can answer too < 1203459696 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric ::-P < 1203459701 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :hm < 1203459703 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :http://www.esolangs.org/wiki/Musical-X < 1203459709 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :i have no idea what you are talking about < 1203459716 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :ehird`: does that have to be easily determined < 1203459723 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :that language looks a lot like Prelude < 1203459741 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: well, otherwise how are you going to insert a bomb at a good plcae < 1203459757 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :lament: a bit too syntax-oriented imo < 1203459773 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :well, tbh i'm mostly just assuming that. < 1203459839 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :what's the best brainfuck way to get 64? < 1203459840 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :seems i guessed right < 1203459851 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :i imagine the same will be true for befunge < 1203459876 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :hmm < 1203459885 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :!bf_txtget @ < 1203459887 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :... < 1203459890 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :!bf_txtgen @ < 1203459900 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :!bf_textgen @ < 1203459910 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :it's impossible to remember whether there's an e. < 1203459929 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :oh, right < 1203459936 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :the ip doesn't really leave any trace < 1203459945 0 :slereah_!unknown@unknown.invalid PRIVMSG #esoteric :!help < 1203459954 0 :slereah_!unknown@unknown.invalid PRIVMSG #esoteric :!help me damn robot! < 1203459957 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :there is no e < 1203459960 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :txtgen < 1203459963 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :perhaps you can observe the stack and deduce what instructions they've run! < 1203459990 0 :jix!unknown@unknown.invalid QUIT :"CommandQ" < 1203459999 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :aha < 1203459999 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :8*8 < 1203460006 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: you have your own stack < 1203460014 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :yeah.. < 1203460017 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :aaand? < 1203460025 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :00::88*pv < 1203460025 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric : ^ < < 1203460027 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i meant the stack of the other guy's < 1203460034 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :^^ that's the simplest BeYourFunge program < 1203460035 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :err < 1203460035 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :wait < 1203460064 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :wuzzit do < 1203460065 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :00::88*p1+\1+\v < 1203460065 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric : ^ < < 1203460077 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: puts @ at 0,0 then at 1,1 .. oh, wait < 1203460083 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :i want 0,1,0,2,0,3... < 1203460084 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :damn < 1203460085 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :this will be hard < 1203460086 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric ::) < 1203460093 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :@ = end program = LOSE < 1203460118 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :hmm... < 1203460121 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :hard? < 1203460133 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :how come, isn't befunge fairly simple < 1203460155 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :i'll glance at the spec < 1203460184 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: because < 1203460187 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :i need to do this < 1203460188 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :0,0 < 1203460189 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :0,1 < 1203460190 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :0,2 < 1203460190 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :... < 1203460192 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :0,79 < 1203460194 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :1,0 < 1203460195 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :1,1 < 1203460197 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :1,2 < 1203460197 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :... < 1203460198 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :1,79 < 1203460199 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :2,0 < 1203460201 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :the idea is you can modify the other guy's code, and executing @ makes you lose? < 1203460201 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :etc < 1203460203 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :up to 24 < 1203460207 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: yes < 1203460216 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :and you can find the other guy's instruction pointer but jumping through hoops < 1203460223 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :ehird`: why not go diagonally? < 1203460231 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :oklopol: because that isn't brute-force < 1203460256 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :guess that might be a bit more difficult. < 1203460262 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :well... not really < 1203460275 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :at least shouldn't be much longer < 1203460301 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :was just thinking you may wanna extend to infinite grids < 1203460304 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :or not < 1203460324 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :no < 1203460330 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :then you can run off at great speed < 1203460332 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :at the start < 1203460451 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :true. < 1203461201 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :oh my god, zzo's english is atrocious http://zzo38computer.cjb.net/wmskins/Command-Skin.txt < 1203461334 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :ehird`: must be intentional < 1203461342 0 :ehird`!unknown@unknown.invalid PRIVMSG #esoteric :i hope not < 1203461355 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :..? < 1203461367 0 :oklopol!unknown@unknown.invalid PRIVMSG #esoteric :why's that < 1203462043 0 :Corun!n=Corun@halls-129-31-72-183.hor.ic.ac.uk JOIN :#esoteric