< 1272844830 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :nooga: so you are black all over now? < 1272844861 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :ACTION likes making obvious conclusions < 1272844863 0 :nooga!unknown@unknown.invalid PRIVMSG #esoteric :i'm making circuit boards for my modem and 8088 computer < 1272844888 0 :SgeoN1!unknown@unknown.invalid PRIVMSG #esoteric :My laptop's receiving power now! < 1272844892 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :Now, we just need to find interesting patterns in the results. < 1272844893 0 :nooga!unknown@unknown.invalid PRIVMSG #esoteric :using chalk paper and laserjet < 1272844917 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :There's an obvious pattern in the lengths. < 1272844961 0 :alise__!unknown@unknown.invalid PRIVMSG #esoteric :also, bifrocation; too good a coincidence < 1272844964 0 :alise__!unknown@unknown.invalid PRIVMSG #esoteric :it splits bf into two parts? sorta? < 1272844990 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :Anyway, it's midnight and I have to revise tomorrow. Perhaps you could put the code on the wiki? < 1272845009 0 :Phantom_Hoover!unknown@unknown.invalid QUIT :Quit: Phantom_Hoover < 1272845039 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :ACTION recalls a nice bitbased algorithm for [Integer] -> Integer < 1272845067 0 :alise__!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: the important thing was that all nats were covered < 1272845080 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :basically, convertFromBinary . intercalate "1" . map convertToFibonacciBase < 1272845080 0 :alise__!unknown@unknown.invalid PRIVMSG #esoteric :$ echo ',[.,]' | ./bifro encode | ./bifro decode < 1272845081 0 :alise__!unknown@unknown.invalid PRIVMSG #esoteric :,[.,] < 1272845090 0 :alise__!unknown@unknown.invalid PRIVMSG #esoteric :$ echo 123456789 | ./bifro decode | ./bifro encode < 1272845091 0 :alise__!unknown@unknown.invalid PRIVMSG #esoteric :123456789 < 1272845092 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :er [Nat] -> Nat < 1272845106 0 :ais523!unknown@unknown.invalid QUIT :Remote host closed the connection < 1272845107 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :this covers all Nats, or nearly so < 1272845119 0 :alise__!unknown@unknown.invalid PRIVMSG #esoteric :http://pastie.org/942869.txt?key=vvwlyvvpwhxulduzur3q < 1272845122 0 :alise__!unknown@unknown.invalid PRIVMSG #esoteric :behold. < 1272845124 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :although i probably messed up the exact definition < 1272845134 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :alise__ why are you so horrible to me < 1272845142 0 :alise__!unknown@unknown.invalid PRIVMSG #esoteric :fax: because you were a jerk to me. < 1272845147 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :alise__ what did I do? < 1272845167 0 :nooga!unknown@unknown.invalid PRIVMSG #esoteric :alise__ is generally horrible < 1272845174 0 :alise__!unknown@unknown.invalid PRIVMSG #esoteric :well we were just talking about a program and you started going all on about how it's trivial and pointless for no reason... also, you do your fair share of ignoring /me/ < 1272845177 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :other than like teach you everything I know about dependent types < 1272845208 0 :SgeoN1!unknown@unknown.invalid PRIVMSG #esoteric :ACTION should learn dependent types at some point. < 1272845212 0 :nooga!unknown@unknown.invalid PRIVMSG #esoteric :01:05 < alise__> well we were just talking about a program and you started going all on about how it's trivial and pointless for no reason... also, you do your fair share of ignoring /me/ < 1272845213 0 :nooga!unknown@unknown.invalid PRIVMSG #esoteric :maybe he's adapting your methods, alise__ ? :>> < 1272845244 0 :alise__!unknown@unknown.invalid PRIVMSG #esoteric : WHY? just use binary for fucks sake lame and trivial alise__ lol okay maybe not for you alise__: fuck you alise__: You're a cunt lol @ alise getting all upset because he thought his trivial program was difficult to write < 1272845271 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :stop fabricating IRC logs < 1272845275 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :we all know that didn't happen < 1272845280 0 :alise__!unknown@unknown.invalid PRIVMSG #esoteric :... ... < 1272845284 0 :nooga!unknown@unknown.invalid PRIVMSG #esoteric :... < 1272845284 0 :alise__!unknown@unknown.invalid PRIVMSG #esoteric :you just said it right now. < 1272845285 0 :nooga!unknown@unknown.invalid PRIVMSG #esoteric :lol < 1272845290 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :no I did not < 1272845292 0 :alise__!unknown@unknown.invalid PRIVMSG #esoteric :wow so fax has some /serious/ denial issues. < 1272845293 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :you're doing this again < 1272845298 0 :alise__!unknown@unknown.invalid PRIVMSG #esoteric :fax: please, look it up on tunes.org < 1272845303 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :you did this just a min ago and now you are doing it /again/ < 1272845304 0 :alise__!unknown@unknown.invalid PRIVMSG #esoteric :the lines are there plain as day i forged not a single one < 1272845317 0 :alise__!unknown@unknown.invalid PRIVMSG #esoteric :seriously if you cannot believe that you wrote those lines -- which you DID -- < 1272845322 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :that's really funny alise good trick what are you trying to gett hough < 1272845326 0 :alise__!unknown@unknown.invalid PRIVMSG #esoteric :well you have serious issues < 1272845336 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :fax: i am considering banning you now < 1272845346 0 :alise__!unknown@unknown.invalid PRIVMSG #esoteric :guys I think fax might actually be legitimately insane... I don't think he's trolling he's acted weirdly like this before < 1272845393 0 :alise__!unknown@unknown.invalid PRIVMSG #esoteric :ACTION considers whether feeding mandelbrot.b to his program is a good idea < 1272845393 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: I will be missing out on Phantom_hoover ignoring me and alise flipping out at me and telling me to fuck off because I said a program was trivla < 1272845407 0 :SgeoN1!unknown@unknown.invalid PRIVMSG #esoteric :I think fax is joking < 1272845414 0 :alise__!unknown@unknown.invalid PRIVMSG #esoteric :SgeoN1: no, i wish he was though < 1272845426 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :I don't know why people are being so nasty to me < 1272845450 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :fax: well at the moment you are either joking or insane. < 1272845469 0 :SgeoN1!unknown@unknown.invalid PRIVMSG #esoteric :Fax: phantom_hoover left < 1272845476 0 :alise__!unknown@unknown.invalid PRIVMSG #esoteric :even encoding http://esoteric.sange.fi/brainfuck/bf-source/prog/rot13.bf hangs my program < 1272845483 0 :alise__!unknown@unknown.invalid PRIVMSG #esoteric :these are some /seriously/ large numbers < 1272845485 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :it's hard to tell, alise__ isn't exactly unbiased in her judgements < 1272845488 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :alise__, welcome to haskell programming < 1272845491 0 :alise__!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: i'm not sure your recursive-crushing was such a good idea < 1272845501 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :alise__: of course, 2^n isn't very effective < 1272845504 0 :alise__!unknown@unknown.invalid PRIVMSG #esoteric :fax: you think it might be the unimaginably huge growth in numbers instead? < 1272845506 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :alise__: Glee. < 1272845526 0 :alise__!unknown@unknown.invalid PRIVMSG #esoteric :eh, it's more fun for number -> program < 1272845542 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :alise__: I'd be very amused if your encoding method ended up being a Brainfuck compression program. :P < 1272845549 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Actually. < 1272845553 0 :alise__!unknown@unknown.invalid PRIVMSG #esoteric :$ echo 1234567891011121314151617181920 | ./bifro decode < 1272845553 0 :alise__!unknown@unknown.invalid PRIVMSG #esoteric :----->-->+++--+---[<][]++--<++----,-+[+]-++<--+++-. < 1272845557 0 :alise__!unknown@unknown.invalid PRIVMSG #esoteric :it sure does produce useless programs < 1272845558 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :... It kinda *is*. < 1272845573 0 :alise__!unknown@unknown.invalid PRIVMSG #esoteric :yeah it compresses it into an integer many many times bigger than the program. < 1272845574 0 :alise__!unknown@unknown.invalid PRIVMSG #esoteric ::P < 1272845576 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :It's only being asked to produce valid ones. Not useful ones. < 1272845591 0 :alise__!unknown@unknown.invalid PRIVMSG #esoteric :it really shies away from loops, since the numbers are so big < 1272845594 0 :alise__!unknown@unknown.invalid PRIVMSG #esoteric :gimme a big prime guys < 1272845594 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :"1234567891011121314151617181920" is smaller than "----->-->+++--+---[<][]++--<++----,-+[+]-++<--+++-.". < 1272845610 0 :alise__!unknown@unknown.invalid PRIVMSG #esoteric :you know it is funny, because we are almost deserialising for num->prog < 1272845611 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :1234567891011121314151617181920 <-- base 10 < 1272845614 0 :alise__!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: yeah but < 1272845616 0 :alise__!unknown@unknown.invalid PRIVMSG #esoteric :[dfgdfg] < 1272845619 0 :alise__!unknown@unknown.invalid PRIVMSG #esoteric :instantly EXPLODES your program < 1272845624 0 :alise__!unknown@unknown.invalid PRIVMSG #esoteric :with multiple nested serialisations < 1272845626 0 :alise__!unknown@unknown.invalid PRIVMSG #esoteric :er < 1272845626 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :----->-->+++--+---[<][]++--<++----,-+[+]-++<--+++-. <-- base 7 (or something) < 1272845629 0 :alise__!unknown@unknown.invalid PRIVMSG #esoteric :you know it is funny, because we are almost factorising for num->prog < 1272845637 0 :alise__!unknown@unknown.invalid PRIVMSG #esoteric :fax: no because of balanced loops < 1272845641 0 :alise__!unknown@unknown.invalid PRIVMSG #esoteric :that's the whole reason I did this < 1272845659 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Oooh! Oooh! < 1272845660 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :34790! − 1 < 1272845666 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :alise__: incidentally i think if the order of tuples were reversed, then even programs without loops would get enormous < 1272845667 0 :alise__!unknown@unknown.invalid PRIVMSG #esoteric :jane@jane-desktop:~/code$ echo 1111111111111111111111111111111111111111111111 | ./bifro decode < 1272845667 0 :alise__!unknown@unknown.invalid PRIVMSG #esoteric :>-->-->-->-->-->-->-->+.+--<---------+--+>-<.<<++<+<----<+,++--->>+-+>--< < 1272845667 0 :alise__!unknown@unknown.invalid PRIVMSG #esoteric :jane@jane-desktop:~/code$ echo 1111111111111111111111111111111111111111111112 | ./bifro decode < 1272845667 0 :alise__!unknown@unknown.invalid PRIVMSG #esoteric :---+->-->-->-->-->-->-->+.+--<---------+--+>-<.<<++<+<----<+,++--->>+-+>--< < 1272845671 0 :alise__!unknown@unknown.invalid PRIVMSG #esoteric :Hey, it... prepended to the start. < 1272845685 0 :alise__!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: no :P < 1272845703 0 :alise__!unknown@unknown.invalid PRIVMSG #esoteric :$ echo '[[[[]]]]' | ./bifro encode < 1272845704 0 :alise__!unknown@unknown.invalid PRIVMSG #esoteric :[hang] < 1272845708 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :http://en.wikipedia.org/wiki/Illegal_prime < 1272845709 0 :alise__!unknown@unknown.invalid PRIVMSG #esoteric :maybe the parser is broken??? < 1272845711 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :it's only the head of a cons that is so enormously encoded < 1272845717 0 :alise__!unknown@unknown.invalid PRIVMSG #esoteric :no wait lol < 1272845720 0 :alise__!unknown@unknown.invalid PRIVMSG #esoteric :jane@jane-desktop:~/code$ echo '[]' | ./bifro encode < 1272845721 0 :alise__!unknown@unknown.invalid PRIVMSG #esoteric :63 < 1272845721 0 :alise__!unknown@unknown.invalid PRIVMSG #esoteric :jane@jane-desktop:~/code$ echo '[[]]' | ./bifro encode < 1272845721 0 :alise__!unknown@unknown.invalid PRIVMSG #esoteric :590295810358705651711 < 1272845721 0 :alise__!unknown@unknown.invalid PRIVMSG #esoteric :amazing < 1272845730 0 :alise__!unknown@unknown.invalid PRIVMSG #esoteric :then one more breaks it < 1272845736 0 :alise__!unknown@unknown.invalid PRIVMSG #esoteric :this is the most hideously inefficient numbering system ever < 1272845743 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Glee. < 1272845752 0 :alise__!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: ah you are right. < 1272845755 0 :alise__!unknown@unknown.invalid PRIVMSG #esoteric :grr < 1272845759 0 :alise__!unknown@unknown.invalid PRIVMSG #esoteric :so the bijection is imperfect < 1272845765 0 :alise__!unknown@unknown.invalid PRIVMSG #esoteric :-- and having nested crushed loops is imperfect too < 1272845767 0 :alise__!unknown@unknown.invalid PRIVMSG #esoteric :but dammit, I did it < 1272845772 0 :alise__!unknown@unknown.invalid PRIVMSG #esoteric :and whenever we talk about a brainfuck program < 1272845778 0 :alise__!unknown@unknown.invalid PRIVMSG #esoteric :we can just say, instead of pastebinning < 1272845781 0 :alise__!unknown@unknown.invalid PRIVMSG #esoteric :oh, it's #xkcd in the list < 1272845815 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :I wish people would be nicer to me < 1272845844 0 :alise__!unknown@unknown.invalid PRIVMSG #esoteric :I wish you would be nicer to people. < 1272845856 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :okay < 1272845893 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :alise__: the triangular N x N <-> N encoding is much more balanced, i should think < 1272845901 0 :alise__!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: does it cover all nats? < 1272845905 0 :alise__!unknown@unknown.invalid PRIVMSG #esoteric :it's very important we cover all nats :P < 1272845917 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :sure, if you get the off-by-one shifts right... < 1272845919 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :this is what i was talking about earlier < 1272845925 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :but phantom_hoover didn't want to hear it < 1272845942 0 :alise__!unknown@unknown.invalid PRIVMSG #esoteric :well i'm all ears. < 1272845943 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :fax: it was mentioned (credited somewhat to you) even before you arrived < 1272845950 0 :alise__!unknown@unknown.invalid PRIVMSG #esoteric :yes, i did credit it to you. < 1272845953 0 :alise__!unknown@unknown.invalid PRIVMSG #esoteric :multiple times < 1272845962 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :but for some reason they didn't like it. hard to reverse was it? < 1272845963 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :it's not due to me < 1272845971 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :I just re-explained it in terms of finite-calculus < 1272846000 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :needs a square root approximation, is the problem... < 1272846002 0 :alise__!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: yeah < 1272846008 0 :alise__!unknown@unknown.invalid PRIVMSG #esoteric :/but/ < 1272846015 0 :alise__!unknown@unknown.invalid PRIVMSG #esoteric :i suspect that sqrt(n) may have been integer for all relevant ns < 1272846026 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :um no < 1272846050 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :you need a square root approximation to find one of the tuple coordinates < 1272846052 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :iirc < 1272846073 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :s/approximation/floor/ < 1272846090 0 :alise__!unknown@unknown.invalid PRIVMSG #esoteric :well sqrt floor should always be right in haskell methinks. < 1272846106 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :except it's not bignum compatible < 1272846126 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :well without some hackage probably < 1272846170 0 :alise__!unknown@unknown.invalid PRIVMSG #esoteric :ah < 1272846206 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :alise__: You have still created a compression scheme for Brainfuck. However, this compression scheme is not very *useful*, as it only appears to actually compress a large number of fairly stupid programs. < 1272846221 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :everyone in the world is horrible < 1272846226 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Actually. Think you could try running it on a "Hello, world!" program without any loops? < 1272846239 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :alise__: try reversing the tuple order and see what programs you get _then_ :D < 1272846251 0 :alise__!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: hell no < 1272846255 0 :alise__!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: it'd not be too big < 1272846257 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :(i bet then loops would be _over_-represented < 1272846258 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :) < 1272846277 0 :alise__!unknown@unknown.invalid PRIVMSG #esoteric :Ssh, we're about to make a publication. < 1272846279 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :alise__: just to test for fun of course < 1272846296 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :whats a publication < 1272846322 0 :alise__!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: not even gonna THINK about it :D < 1272846327 0 :alise__!unknown@unknown.invalid PRIVMSG #esoteric :fax: THOU SHALT SEE < 1272846349 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :alise__: i meant to run it in the Integer -> Program direction, fwiw < 1272846357 0 :alise__!unknown@unknown.invalid PRIVMSG #esoteric :*slow pastie is slow* < 1272846369 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :? < 1272846371 0 :alise__!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: ah. < 1272846371 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :wdat < 1272846373 0 :alise__!unknown@unknown.invalid PRIVMSG #esoteric :ok then < 1272846375 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :what is going on < 1272846378 0 :alise__!unknown@unknown.invalid PRIVMSG #esoteric :Your paste cannot be larger than 100 kb. Sorry. < 1272846379 0 :alise__!unknown@unknown.invalid PRIVMSG #esoteric :oh well < 1272846382 0 :alise__!unknown@unknown.invalid PRIVMSG #esoteric :The Bifro Society of the United Kingdom are pleased to announce their latest < 1272846382 0 :alise__!unknown@unknown.invalid PRIVMSG #esoteric :research result: the first 10002 brainfuck programs, in order. < 1272846385 0 :alise__!unknown@unknown.invalid PRIVMSG #esoteric :guess nobody will miss it < 1272846393 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :Bifro? < 1272846411 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :what is 'in order' about them < 1272846426 0 :alise__!unknown@unknown.invalid PRIVMSG #esoteric :they're the decodings of 0,1,2,etc < 1272846427 0 :alise__!unknown@unknown.invalid PRIVMSG #esoteric ::P < 1272846431 0 :alise__!unknown@unknown.invalid PRIVMSG #esoteric :and bifro is the name of my program < 1272846435 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric ::) < 1272846439 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :cool < 1272846448 0 :alise__!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: lol, with that modification < 1272846461 0 :alise__!unknown@unknown.invalid PRIVMSG #esoteric :"1" becomes an infinite amount of -s < 1272846463 0 :alise__!unknown@unknown.invalid PRIVMSG #esoteric :I shit you not < 1272846472 0 :alise__!unknown@unknown.invalid PRIVMSG #esoteric :decrush :: Integer -> [Integer] < 1272846473 0 :alise__!unknown@unknown.invalid PRIVMSG #esoteric :decrush 0 = [] < 1272846473 0 :alise__!unknown@unknown.invalid PRIVMSG #esoteric :decrush n = let (xsn,x) = biFro n in x : decrush xsn < 1272846473 0 :alise__!unknown@unknown.invalid PRIVMSG #esoteric :--decrush n = let (x,xsn) = biFro n in x : decrush xsn < 1272846474 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :um that's impossible < 1272846479 0 :alise__!unknown@unknown.invalid PRIVMSG #esoteric :Precisely < 1272846486 0 :alise__!unknown@unknown.invalid PRIVMSG #esoteric :2 becomes the rather more mundane + < 1272846508 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :oh wait maybe not < 1272846513 0 :alise__!unknown@unknown.invalid PRIVMSG #esoteric :3 -+; 4 <; 5 +(infinite -s) < 1272846522 0 :alise__!unknown@unknown.invalid PRIVMSG #esoteric :6 > < 1272846527 0 :alise__!unknown@unknown.invalid PRIVMSG #esoteric :7 --+ < 1272846532 0 :alise__!unknown@unknown.invalid PRIVMSG #esoteric :100 [[[+]]] < 1272846538 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :oh yes it must be < 1272846544 0 :alise__!unknown@unknown.invalid PRIVMSG #esoteric :[[[[.-------------------------------------------------------------------------------------------... < 1272846546 0 :alise__!unknown@unknown.invalid PRIVMSG #esoteric :^ 1000 < 1272846548 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :write a program that deletes everything on your computer < 1272846569 0 :SgeoN1!unknown@unknown.invalid PRIVMSG #esoteric :ACTION deletes fax < 1272846576 0 :alise__!unknown@unknown.invalid PRIVMSG #esoteric :i'm all ears for the triangular thing < 1272846772 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :is biFro 1 == (0,1) ? < 1272846786 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :or (1,1) < 1272846795 0 :SgeoN1!unknown@unknown.invalid PRIVMSG #esoteric :Earbuds aren't supposed to hurt, are they? < 1272846803 0 :alise__!unknown@unknown.invalid PRIVMSG #esoteric :erm i forget < 1272846808 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :or wait it cannot be (1,1) then it would have been infinite before < 1272846815 0 :SgeoN1!unknown@unknown.invalid PRIVMSG #esoteric :Because these hurt. < 1272846844 0 :alise__!unknown@unknown.invalid PRIVMSG #esoteric :(1,0) < 1272846852 0 :alise__!unknown@unknown.invalid PRIVMSG #esoteric :actually < 1272846852 0 :alise__!unknown@unknown.invalid PRIVMSG #esoteric :YOU ARE EXTREMELY INCORRECT AT EVERYTHING < 1272846859 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :ic < 1272846863 0 :alise__!unknown@unknown.invalid PRIVMSG #esoteric :biFro 0 = (0,0) < 1272846884 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :well in that case wtf do you get infinite -s? < 1272846886 0 :alise__!unknown@unknown.invalid PRIVMSG #esoteric :then it just goes everywhere: < 1272846892 0 :alise__!unknown@unknown.invalid PRIVMSG #esoteric :*Main> map biFro [0..20] < 1272846893 0 :alise__!unknown@unknown.invalid PRIVMSG #esoteric :[(0,0),(1,0),(0,1),(2,0),(0,2),(1,1),(0,3),(3,0),(0,4),(1,2),(0,5),(2,1),(0,6),(1,3),(0,7),(4,0),(0,8),(1,4),(0,9),(2,2),(0,10)] < 1272846906 0 :alise__!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: obvious < 1272846908 0 :alise__!unknown@unknown.invalid PRIVMSG #esoteric :decrush n = let (x,xsn) = biFro n in x : decrush xsn < 1272846911 0 :alise__!unknown@unknown.invalid PRIVMSG #esoteric :here we don't decrease on x < 1272846917 0 :alise__!unknown@unknown.invalid PRIVMSG #esoteric :the secret is that recursing biFro on x < 1272846921 0 :alise__!unknown@unknown.invalid PRIVMSG #esoteric :doesn't smallify x < 1272846926 0 :alise__!unknown@unknown.invalid PRIVMSG #esoteric :so the recursion never reaches a base case < 1272846931 0 :alise__!unknown@unknown.invalid PRIVMSG #esoteric :i.e. biFro is biased towards latters < 1272846934 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :guess what I wrote today < 1272846935 0 :alise__!unknown@unknown.invalid PRIVMSG #esoteric :this is just a hunch < 1272846946 0 :alise__!unknown@unknown.invalid PRIVMSG #esoteric :like maybe biFro stays constant, or oscillates, or grows < 1272846946 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :A program that expresses any number as the sum of two squares mod p < 1272846949 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :um wait < 1272846965 0 :SgeoN1!unknown@unknown.invalid PRIVMSG #esoteric :Trolltastic insults? < 1272846966 0 :alise__!unknown@unknown.invalid PRIVMSG #esoteric :biFro :: Integer -> (Integer,Integer) < 1272846967 0 :alise__!unknown@unknown.invalid PRIVMSG #esoteric :biFro n = (m, (((n `div` (2^m)) - 1) `div` 2) + 1) < 1272846968 0 :alise__!unknown@unknown.invalid PRIVMSG #esoteric : where n' = n + 1 < 1272846968 0 :alise__!unknown@unknown.invalid PRIVMSG #esoteric : m = toInteger . length . takeWhile (\n'' -> mod n'' 2 == 0) $ iterate (`div` 2) n' < 1272846970 0 :alise__!unknown@unknown.invalid PRIVMSG #esoteric :"hope this helps" < 1272846985 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :SgeoN1 what did you just say < 1272846986 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :alise__: if you use 0 for nil, the bifro should be a bijection between [1..] and [0..] x [0..] < 1272846994 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :*then < 1272847005 0 :alise__!unknown@unknown.invalid PRIVMSG #esoteric :oh you are right < 1272847013 0 :alise__!unknown@unknown.invalid PRIVMSG #esoteric :crush :: [Integer] -> Integer < 1272847013 0 :alise__!unknown@unknown.invalid PRIVMSG #esoteric :crush [] = 0 < 1272847014 0 :alise__!unknown@unknown.invalid PRIVMSG #esoteric :crush (x:xs) = biTo (x, crush xs) < 1272847017 0 :alise__!unknown@unknown.invalid PRIVMSG #esoteric :this is how it works so umm < 1272847022 0 :alise__!unknown@unknown.invalid PRIVMSG #esoteric :eventually we get to biTo (something, 0) < 1272847036 0 :alise__!unknown@unknown.invalid PRIVMSG #esoteric :which can be a bit big. < 1272847037 0 :alise__!unknown@unknown.invalid PRIVMSG #esoteric :*Main> biTo (1000, 0) < 1272847037 0 :alise__!unknown@unknown.invalid PRIVMSG #esoteric :10715086071862673209484250490600018105614048117055336074437503883703510511249361224931983788156958581275946729175531468251871452856923140435984577574698574803934567774824230985421074605062371141877954182153046474983581941267398767559165543946077062914571196477686542167660429831652624386837205668069375 < 1272847061 0 :alise__!unknown@unknown.invalid PRIVMSG #esoteric :*Main> map (\n -> biTo (n, 0)) [0..20] < 1272847062 0 :alise__!unknown@unknown.invalid PRIVMSG #esoteric :[0,1,3,7,15,31,63,127,255,511,1023,2047,4095,8191,16383,32767,65535,131071,262143,524287,1048575] < 1272847069 0 :alise__!unknown@unknown.invalid PRIVMSG #esoteric :every time you think you've figured out the sequence, it fucks with you < 1272847079 0 :alise__!unknown@unknown.invalid PRIVMSG #esoteric :no wait < 1272847082 0 :alise__!unknown@unknown.invalid PRIVMSG #esoteric :it's powers of two minus one < 1272847085 0 :alise__!unknown@unknown.invalid PRIVMSG #esoteric :that's so stupid i love it < 1272847114 0 :alise__!unknown@unknown.invalid PRIVMSG #esoteric :(0,n) is multiples of two < 1272847120 0 :alise__!unknown@unknown.invalid PRIVMSG #esoteric :this thing contains the secrets of the universe < 1272847129 0 :alise__!unknown@unknown.invalid PRIVMSG #esoteric :1,n is odd numbers < 1272847150 0 :alise__!unknown@unknown.invalid PRIVMSG #esoteric :aha, then it keeps getting graduall more spaced apart, i think < 1272847196 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Hahahah. < 1272847215 0 :alise__!unknown@unknown.invalid PRIVMSG #esoteric :*gradually < 1272847235 0 :alise__!unknown@unknown.invalid PRIVMSG #esoteric :*Main> map (\n -> biTo (n, 1)) [0..20] < 1272847236 0 :alise__!unknown@unknown.invalid PRIVMSG #esoteric :[2,5,11,23,47,95,191,383,767,1535,3071,6143,12287,24575,49151,98303,196607,393215,786431,1572863,3145727] < 1272847238 0 :alise__!unknown@unknown.invalid PRIVMSG #esoteric :the retarded theme continues < 1272847249 0 :alise__!unknown@unknown.invalid PRIVMSG #esoteric :*Main> map (\n -> biTo (n, n)) [0..20] < 1272847249 0 :alise__!unknown@unknown.invalid PRIVMSG #esoteric :[0,5,19,55,143,351,831,1919,4351,9727,21503,47103,102399,221183,475135,1015807,2162687,4587519,9699327,20447231,42991615] < 1272847252 0 :alise__!unknown@unknown.invalid PRIVMSG #esoteric :what is this i don't even < 1272847264 0 :Sgeo!~Sgeo@ool-18bf618a.dyn.optonline.net JOIN :#esoteric < 1272847280 0 :SgeoN1!unknown@unknown.invalid PRIVMSG #esoteric :Would be fun if it was all and only primes < 1272847323 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :SgeoN1: and quite impossible to calculate efficiently. not that this 2^n thing helps... < 1272847340 0 :alise__!unknown@unknown.invalid PRIVMSG #esoteric :hey biTo is constant time dude. < 1272847347 0 :alise__!unknown@unknown.invalid PRIVMSG #esoteric :it's that biFro you wanna look out for < 1272847400 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :ACTION was thinking more of "incredibly impressive and an incredible discovery" < 1272847416 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo you shouldn't just sit back and throw insults at people that's actually really not cool < 1272847434 0 :alise__!unknown@unknown.invalid PRIVMSG #esoteric :so how's that triangular stuff oerjan < 1272847443 0 :alise__!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo: an impossible discovery < 1272847448 0 :alise__!unknown@unknown.invalid PRIVMSG #esoteric :it's been proven that you can't do primes like that :P < 1272847463 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :it's been mentioned several times, i don't remember it any better... < 1272847464 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :ACTION isn't even sure what the algorithm is, so < 1272847466 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :can't do primes like what? < 1272847497 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Or are you saying, can't do primes in polynomial time? < 1272847519 0 :alise__!unknown@unknown.invalid PRIVMSG #esoteric :like there's no algebraic expression that generates primes and only primes. < 1272847534 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :there is one that gives primes for alj positive values < 1272847543 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :the negative values are garbage though < 1272847549 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :alise__: i don't think powers are included in that < 1272847560 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :it's polynomials i've heard about < 1272847565 0 :alise__!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: then consider it proven by plot < 1272847577 0 :alise__!unknown@unknown.invalid PRIVMSG #esoteric :fax: all primes, though? < 1272847581 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :yes < 1272847586 0 :alise__!unknown@unknown.invalid PRIVMSG #esoteric :whoa < 1272847602 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :it's not practical if you actually want to compute primes with it tohugh < 1272847603 0 :alise__!unknown@unknown.invalid PRIVMSG #esoteric :so um how come we aren't discovering new primes in 0 time < 1272847619 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :because it is hyperdimension and there is a lot of garbage < 1272847625 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :(negative values) < 1272847656 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :presumably most random parameters give either tiny or negative numbers... < 1272847694 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Oh, thought that by negatives you meant input, or something < 1272847712 0 :alise__!unknown@unknown.invalid PRIVMSG #esoteric :oh me too lol < 1272847713 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo you should learn < 1272847730 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :to hold you tongue sometimes, and to speak other times < 1272847757 0 :alise__!unknown@unknown.invalid PRIVMSG #esoteric :fax < 1272847761 0 :alise__!unknown@unknown.invalid PRIVMSG #esoteric :you should learn < 1272847764 0 :alise__!unknown@unknown.invalid PRIVMSG #esoteric :that you are not a dispenser of zen koans < 1272847769 0 :alise__!unknown@unknown.invalid PRIVMSG #esoteric :ready to enlighten the life of another < 1272847778 0 :alise__!unknown@unknown.invalid PRIVMSG #esoteric :at their fine line'd wisdom < 1272847791 0 :alise__!unknown@unknown.invalid PRIVMSG #esoteric :seriously that's very condescending. < 1272847793 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :oh hm! < 1272847807 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :alise__: we could use ternary! < 1272847816 0 :alise__!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: yowzers! uh, why? < 1272847834 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :for less explosive list encoding? < 1272847859 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :what about tertiary < 1272847869 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :or balanced becimal? < 1272847882 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :fromTernary . intercalate "2" . map toBinary < 1272847886 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :oh wait < 1272847889 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :becimal? < 1272847892 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :darn initial 0s < 1272847894 0 :alise__!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: howso < 1272847901 0 :alise__!unknown@unknown.invalid PRIVMSG #esoteric :how about balanced binary coded negative phinary < 1272847909 0 :alise__!unknown@unknown.invalid PRIVMSG #esoteric :i think that would be good < 1272847911 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :wth is that < 1272847916 0 :alise__!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: still need [[[nesting]]] < 1272847920 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :that sounds PHINE. < 1272847923 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric ::3 < 1272847944 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :alise__: status of finding the a brainfuck program called n which prints n < 1272847948 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :alise__: well duh but this wouldn't be that much enlargement per level < 1272847951 0 :alise__!unknown@unknown.invalid PRIVMSG #esoteric :well < 1272847959 0 :alise__!unknown@unknown.invalid PRIVMSG #esoteric :balanced ternary is with the -, 0, + thing i think < 1272847960 0 :nooga!unknown@unknown.invalid PRIVMSG #esoteric :huh < 1272847967 0 :alise__!unknown@unknown.invalid PRIVMSG #esoteric :binary coded decimal is just segregating bits of binary to work as decimal digits < 1272847976 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :is it possible no quine exists? < 1272847978 0 :alise__!unknown@unknown.invalid PRIVMSG #esoteric :so it's just like segregating bits of binary to use as negative phinary digits < 1272847979 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :it seems possible to me < 1272847980 0 :nooga!unknown@unknown.invalid PRIVMSG #esoteric :i wonder how to implement sets and set hashing in C < 1272847982 0 :alise__!unknown@unknown.invalid PRIVMSG #esoteric :except there's negatives too < 1272847992 0 :alise__!unknown@unknown.invalid PRIVMSG #esoteric :fax: ooh, interesting < 1272847996 0 :alise__!unknown@unknown.invalid PRIVMSG #esoteric :of course it depends on the numbering... < 1272847998 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :alise__: I think I'm the one here with the most right to dispense zen koans. < 1272848007 0 :alise__!unknown@unknown.invalid PRIVMSG #esoteric :but my intuition leads me to believe that there are usually quines < 1272848012 0 :alise__!unknown@unknown.invalid PRIVMSG #esoteric :i mean when in doubt add tons of +-s :P < 1272848014 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :obviously the numbering should make a special accountance so that 666 is a quine - or something < 1272848022 0 :alise__!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: no < 1272848025 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :As I know how to write "zen". :P < 1272848026 0 :alise__!unknown@unknown.invalid PRIVMSG #esoteric :no 42 < 1272848070 0 :alise__!unknown@unknown.invalid PRIVMSG #esoteric :Xen koan < 1272848074 0 :alise__!unknown@unknown.invalid PRIVMSG #esoteric :YOUR SERVERS SHALL VIRTUAL SOMETHING SOMETHING < 1272848078 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :fax: a brainfuck program can obviously calculate the encoding. i should think the usual quine-construction theorems apply < 1272848091 0 :alise__!unknown@unknown.invalid PRIVMSG #esoteric :fax: now consider a BF program #n, outputting m such that BF program #m outputs n < 1272848092 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :They do. < 1272848094 0 :alise__!unknown@unknown.invalid PRIVMSG #esoteric :IS YOUR MIND BLOWN YET < 1272848108 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :oerjan - I don't see that working myself but that might be my problem < 1272848114 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :It'd be a major *pain* to implement, but yes, the usual quine-construction theorems apply. < 1272848140 0 :alise__!unknown@unknown.invalid PRIVMSG #esoteric :fax: why not? < 1272848147 0 :alise__!unknown@unknown.invalid PRIVMSG #esoteric :we have very strong, well-tested quiney wimey theorems < 1272848158 0 :alise__!unknown@unknown.invalid PRIVMSG #esoteric :that let us construct any sort of ridiculous multi-polyglot-quine-chain < 1272848167 0 :alise__!unknown@unknown.invalid PRIVMSG #esoteric :all this is is an additional function, plus more fluff in the code to get the number right < 1272848169 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :ACTION wants/needs to read about these < 1272848171 0 :alise__!unknown@unknown.invalid PRIVMSG #esoteric :the number is just an encoding of the source basically < 1272848172 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :let us consider the contrapositive, < 1272848174 0 :alise__!unknown@unknown.invalid PRIVMSG #esoteric :so instead of matching source < 1272848178 0 :alise__!unknown@unknown.invalid PRIVMSG #esoteric :we match this transformation on the source < 1272848186 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :The claim is that there is no computable numbering of brainfuck programs that avoids quines < 1272848206 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :indeed, probably < 1272848219 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Wouldn't the digits just make a programming language? < 1272848220 0 :alise__!unknown@unknown.invalid PRIVMSG #esoteric :yes that seems very likely < 1272848229 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :*turing-complete programming language? < 1272848232 0 :alise__!unknown@unknown.invalid PRIVMSG #esoteric :consider that all numberings are essentially a transformation on the source < 1272848241 0 :alise__!unknown@unknown.invalid PRIVMSG #esoteric :and that the source can already be considered to be in some arbitrary encoding < 1272848247 0 :alise__!unknown@unknown.invalid PRIVMSG #esoteric :and if it can be encoded/decoded < 1272848247 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :chrome is using 215% cpu :D < 1272848249 0 :alise__!unknown@unknown.invalid PRIVMSG #esoteric :then we can quine it. < 1272848250 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :okay I see it now, quines do exist < 1272848252 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :fax: Yes, that is the fixed point theorem. < 1272848258 0 :alise__!unknown@unknown.invalid PRIVMSG #esoteric :`addquote okay I see it now, quines do exist < 1272848260 0 :HackEgo!unknown@unknown.invalid PRIVMSG #esoteric :156| okay I see it now, quines do exist < 1272848261 0 :alise__!unknown@unknown.invalid PRIVMSG #esoteric :nice out of context :D < 1272848318 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :This is true for... Every TC language with sufficient IO capabilities to output the text of such a quine, I'm pretty sure. < 1272848373 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :is this theorem effective enough that you can actually calculate this quine < 1272848375 0 :nooga!unknown@unknown.invalid PRIVMSG #esoteric :eeh < 1272848424 0 :alise__!unknown@unknown.invalid PRIVMSG #esoteric :fax: well we can certainly construct it with ingenuity, we've handled harder tasks before < 1272848424 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :`addquote we all know that didn't happen < 1272848430 0 :HackEgo!unknown@unknown.invalid PRIVMSG #esoteric :157| we all know that didn't happen < 1272848436 0 :alise__!unknown@unknown.invalid PRIVMSG #esoteric :we all know that didn't happen, oerjan < 1272848441 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :ACTION whistles innocently < 1272848448 0 :alise__!unknown@unknown.invalid PRIVMSG #esoteric :`quote < 1272848449 0 :HackEgo!unknown@unknown.invalid PRIVMSG #esoteric :29|IN AN ALTERNATE UNIVERSE: there is plenty of room to get head twice at once < 1272848451 0 :alise__!unknown@unknown.invalid PRIVMSG #esoteric :`quote < 1272848452 0 :HackEgo!unknown@unknown.invalid PRIVMSG #esoteric :46| Or the brutal rape of the English language! That wasn't rape. English is always willing. < 1272848456 0 :alise__!unknown@unknown.invalid PRIVMSG #esoteric :`quote < 1272848457 0 :HackEgo!unknown@unknown.invalid PRIVMSG #esoteric :23| Finally I have found some actually useful purpose for it. < 1272848460 0 :alise__!unknown@unknown.invalid PRIVMSG #esoteric :`quote < 1272848461 0 :HackEgo!unknown@unknown.invalid PRIVMSG #esoteric :14| So what you're saying is that I shouldn't lick my iPhone but instead I should rub it on my eyes first and then lick my eyeballs? < 1272848463 0 :bsmntbombdood!unknown@unknown.invalid PRIVMSG #esoteric :wait what < 1272848464 0 :alise__!unknown@unknown.invalid PRIVMSG #esoteric :`quote < 1272848465 0 :HackEgo!unknown@unknown.invalid PRIVMSG #esoteric :99| things are more awesome when written by someone in here < 1272848471 0 :alise__!unknown@unknown.invalid PRIVMSG #esoteric :bsmntbombdood: note alternate universe qualifier < 1272848473 0 :alise__!unknown@unknown.invalid PRIVMSG #esoteric :`quote < 1272848474 0 :HackEgo!unknown@unknown.invalid PRIVMSG #esoteric :146| I don't know that I've ever heard apocalypi described in terms of depth ... < 1272848477 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :`quote < 1272848478 0 :alise__!unknown@unknown.invalid PRIVMSG #esoteric :`quote < 1272848480 0 :HackEgo!unknown@unknown.invalid PRIVMSG #esoteric :72| ignore me, i'm full of bullshit < 1272848482 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :lol < 1272848487 0 :alise__!unknown@unknown.invalid PRIVMSG #esoteric :that was then THIS IS NOW < 1272848487 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :fax: No, but they're generally easy to write. < 1272848488 0 :alise__!unknown@unknown.invalid PRIVMSG #esoteric :`quote < 1272848490 0 :HackEgo!unknown@unknown.invalid PRIVMSG #esoteric :117| I'd imagine that it already has, and no one noticed < 1272848491 0 :HackEgo!unknown@unknown.invalid PRIVMSG #esoteric :153|* Warrigal refuses to say goodbye to Quas NaArt, as he is coming closer, not going farther. < 1272848492 0 :alise__!unknown@unknown.invalid PRIVMSG #esoteric :`quote < 1272848494 0 :HackEgo!unknown@unknown.invalid PRIVMSG #esoteric :118| Actually, he still looks like he'd rather eat her than have sex with her. < 1272848499 0 :alise__!unknown@unknown.invalid PRIVMSG #esoteric :`quote < 1272848500 0 :HackEgo!unknown@unknown.invalid PRIVMSG #esoteric :103| i use dynamic indentation, i indent lines k times, if they are used O(n^k) times during a run of the program < 1272848505 0 :alise__!unknown@unknown.invalid PRIVMSG #esoteric :`quote < 1272848506 0 :HackEgo!unknown@unknown.invalid PRIVMSG #esoteric :104| I'm 100% of what sort of magic was involved in it < 1272848510 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :There is a thingy < 1272848512 0 :alise__!unknown@unknown.invalid PRIVMSG #esoteric :`quote < 1272848513 0 :HackEgo!unknown@unknown.invalid PRIVMSG #esoteric :54| I guess when you're immortal, mapping your fonts isn't necessary < 1272848516 0 :alise__!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo: yeah i know < 1272848517 0 :alise__!unknown@unknown.invalid PRIVMSG #esoteric :`quote < 1272848518 0 :HackEgo!unknown@unknown.invalid PRIVMSG #esoteric :98| ehird: every set can be well-ordered. corollary: every set s has the same diagram used from famous program talisman with fnord windows to cascade, someone i would never capitalize " i" < 1272848526 0 :alise__!unknown@unknown.invalid PRIVMSG #esoteric :i like that corollary, a lot < 1272848539 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :You pretty much just need a way of computing the source code of your program and a way of mapping your source code into your preferred numbering. < 1272848541 0 :alise__!unknown@unknown.invalid PRIVMSG #esoteric :`quote < 1272848543 0 :HackEgo!unknown@unknown.invalid PRIVMSG #esoteric :78| ??? Are the cocks actually just implanted dildos? Or are there monster dildos and cocks? Or are both the dildos and cocks monster? < 1272848549 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :http://normish.nomictools.com/sgeo/quotes.txt < 1272848554 0 :alise__!unknown@unknown.invalid PRIVMSG #esoteric :`quote < 1272848554 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :wow < 1272848555 0 :HackEgo!unknown@unknown.invalid PRIVMSG #esoteric :13|* ehird has joined #lobby hmmm clean me < 1272848560 0 :alise__!unknown@unknown.invalid PRIVMSG #esoteric :`quote < 1272848561 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :`quote fax < 1272848561 0 :HackEgo!unknown@unknown.invalid PRIVMSG #esoteric :61| Seconds. 30 of them. Did I forget the word? < 1272848563 0 :HackEgo!unknown@unknown.invalid PRIVMSG #esoteric :96| im the worst person in the world 140| oklopol geez what are you doing here ...i < 1272848570 0 :alise__!unknown@unknown.invalid PRIVMSG #esoteric :it gets cut < 1272848572 0 :alise__!unknown@unknown.invalid PRIVMSG #esoteric :grep http://normish.nomictools.com/sgeo/quotes.txt < 1272848579 0 :alise__!unknown@unknown.invalid PRIVMSG #esoteric :140| oklopol geez what are you doing here ...i don't know :< i actually ate until now, although i guess i also did other things... < 1272848582 0 :oerjan!unknown@unknown.invalid QUIT :Quit: Good night < 1272848583 0 :alise__!unknown@unknown.invalid PRIVMSG #esoteric :154| sekuoir: that's just gay sex I am learning though! < 1272848590 0 :alise__!unknown@unknown.invalid PRIVMSG #esoteric :then the stuff we've seen < 1272848594 0 :alise__!unknown@unknown.invalid PRIVMSG #esoteric :`quote < 1272848594 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :alise__, what's with the spamminess < 1272848595 0 :HackEgo!unknown@unknown.invalid PRIVMSG #esoteric :151| I perceived it so hard I actually went away :O < 1272848601 0 :alise__!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo: boredom, going to bed soon, etc < 1272848602 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :`quote ehird < 1272848603 0 :alise__!unknown@unknown.invalid PRIVMSG #esoteric :`quote < 1272848605 0 :HackEgo!unknown@unknown.invalid PRIVMSG #esoteric :13|* ehird has joined #lobby hmmm clean me 24| ehird has gone insane, clearly. 30| In an alternate universe, ehird has taste 31|IN AN ALTERNATE UNIVERSE: In an alternate universe, I would say In an alternate universe, ehird has taste 32| so i can only conclude that it is flawed, or the < 1272848605 0 :nooga!unknown@unknown.invalid PRIVMSG #esoteric :usual boring mess < 1272848612 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :`quote ehird < 1272848614 0 :HackEgo!unknown@unknown.invalid PRIVMSG #esoteric :42| after all, what are DVD players for? < 1272848614 0 :HackEgo!unknown@unknown.invalid PRIVMSG #esoteric :13|* ehird has joined #lobby hmmm clean me 24| ehird has gone insane, clearly. 30| In an alternate universe, ehird has taste 31|IN AN ALTERNATE UNIVERSE: In an alternate universe, I would say In an alternate universe, ehird has taste 32| so i can only conclude that it is flawed, or the < 1272848622 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :`quote Sgeo < 1272848622 0 :alise__!unknown@unknown.invalid PRIVMSG #esoteric :`quote ais < 1272848624 0 :HackEgo!unknown@unknown.invalid PRIVMSG #esoteric :60| < 1272848632 0 :HackEgo!unknown@unknown.invalid PRIVMSG #esoteric :42| after all, what are DVD players for? 138| so a.b.c.d.e.f.g.h.i.j.k.com might be self-relative, but a.b.c.d.e.f.g.h.i.j.k.l.com always means a.b.c.d.e.f.g.h.i.j.k.l.com.? 139| < 1272848634 0 :alise__!unknown@unknown.invalid PRIVMSG #esoteric :60| Mafia's addictin < 1272848638 0 :nooga!unknown@unknown.invalid PRIVMSG #esoteric :`quote nooga < 1272848638 0 :alise__!unknown@unknown.invalid PRIVMSG #esoteric :76| I had an idea for an AskReddit, but I forgot < 1272848639 0 :HackEgo!unknown@unknown.invalid PRIVMSG #esoteric :No output. < 1272848642 0 :nooga!unknown@unknown.invalid PRIVMSG #esoteric ::D < 1272848642 0 :alise__!unknown@unknown.invalid PRIVMSG #esoteric :89| What else is there to vim besides editing commands? < 1272848645 0 :alise__!unknown@unknown.invalid PRIVMSG #esoteric :117| I'd imagine that it already has, and no one noticed < 1272848646 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :what's a round square copula < 1272848649 0 :alise__!unknown@unknown.invalid PRIVMSG #esoteric :120| Where's the link to the log? THERE'S NO LOG. YOUR REQUEST IS SUSPICIOUS AND HAS BEEN LOGGED. < 1272848656 0 :alise__!unknown@unknown.invalid PRIVMSG #esoteric :130| Sgeo_: Gregorr: and someone could, by mistake, rewrite psox to be a weak erection if it is... A filename. < 1272848673 0 :alise__!unknown@unknown.invalid PRIVMSG #esoteric :`quote virtu < 1272848674 0 :HackEgo!unknown@unknown.invalid PRIVMSG #esoteric :130| Sgeo_: Gregorr: and someone could, by mistake, rewrite psox to be a weak erection if it is... A filename. < 1272848679 0 :alise__!unknown@unknown.invalid PRIVMSG #esoteric :`quote < 1272848680 0 :HackEgo!unknown@unknown.invalid PRIVMSG #esoteric :117| I'd imagine that it already has, and no one noticed < 1272848682 0 :alise__!unknown@unknown.invalid PRIVMSG #esoteric :`quote < 1272848683 0 :HackEgo!unknown@unknown.invalid PRIVMSG #esoteric :46| Or the brutal rape of the English language! That wasn't rape. English is always willing. < 1272848690 0 :nooga!unknown@unknown.invalid PRIVMSG #esoteric :yawn < 1272848704 0 :alise__!unknown@unknown.invalid PRIVMSG #esoteric :`quote 97 < 1272848705 0 :HackEgo!unknown@unknown.invalid PRIVMSG #esoteric :97| i am sad ( of course by analogy) :) smileys) < 1272848719 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :ACTION should rewrite PSOX to be a weak erection < 1272848720 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :alise < 1272848722 0 :alise__!unknown@unknown.invalid PRIVMSG #esoteric :Sometimes I think that bot has developed cogence. < 1272848734 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :im listening a philosophy lecture about existentialism < 1272848743 0 :alise__!unknown@unknown.invalid PRIVMSG #esoteric :i'm spamming bots < 1272848746 0 :alise__!unknown@unknown.invalid PRIVMSG #esoteric :pleased to meet you < 1272848748 0 :alise__!unknown@unknown.invalid PRIVMSG #esoteric :`quote < 1272848749 0 :HackEgo!unknown@unknown.invalid PRIVMSG #esoteric :52| Apple = Windows. < 1272848751 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :I'm Sgeo. < 1272848752 0 :alise__!unknown@unknown.invalid PRIVMSG #esoteric :`quote < 1272848753 0 :HackEgo!unknown@unknown.invalid PRIVMSG #esoteric :84| Porn. There, see? < 1272848753 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :thank you < 1272848755 0 :alise__!unknown@unknown.invalid PRIVMSG #esoteric :`quote < 1272848756 0 :HackEgo!unknown@unknown.invalid PRIVMSG #esoteric :121| My mascot is a tree of broccoli. < 1272848759 0 :alise__!unknown@unknown.invalid PRIVMSG #esoteric :`quote < 1272848760 0 :HackEgo!unknown@unknown.invalid PRIVMSG #esoteric :44| I am not on the moon. < 1272848762 0 :alise__!unknown@unknown.invalid PRIVMSG #esoteric :`quote < 1272848763 0 :HackEgo!unknown@unknown.invalid PRIVMSG #esoteric :45| ah... the biggest problem with great Norwegian hip hop lyrics is that they're completely impossible to translate < 1272848766 0 :alise__!unknown@unknown.invalid PRIVMSG #esoteric :`quote < 1272848767 0 :HackEgo!unknown@unknown.invalid PRIVMSG #esoteric :42| after all, what are DVD players for? < 1272848769 0 :alise__!unknown@unknown.invalid PRIVMSG #esoteric :`quote < 1272848770 0 :HackEgo!unknown@unknown.invalid PRIVMSG #esoteric :1| I've always wanted to kill someone. >.> < 1272848772 0 :alise__!unknown@unknown.invalid PRIVMSG #esoteric :`quote < 1272848774 0 :HackEgo!unknown@unknown.invalid PRIVMSG #esoteric :70| Gregor is often a scandalous imposter. It's all the hats, I tell you. < 1272848776 0 :alise__!unknown@unknown.invalid PRIVMSG #esoteric :`quote < 1272848778 0 :nooga!unknown@unknown.invalid PRIVMSG #esoteric :i'm trying to invent even more hairy syntax for regular expressions < 1272848778 0 :HackEgo!unknown@unknown.invalid PRIVMSG #esoteric :70| Gregor is often a scandalous imposter. It's all the hats, I tell you. < 1272848781 0 :alise__!unknown@unknown.invalid PRIVMSG #esoteric :`quote < 1272848782 0 :HackEgo!unknown@unknown.invalid PRIVMSG #esoteric :17| :d <(I can lick my nose!) < 1272848784 0 :alise__!unknown@unknown.invalid PRIVMSG #esoteric :`quote < 1272848785 0 :HackEgo!unknown@unknown.invalid PRIVMSG #esoteric :149| theory: some amused deity is making the laws of physics up as they go along < 1272848788 0 :alise__!unknown@unknown.invalid PRIVMSG #esoteric :`quote < 1272848789 0 :HackEgo!unknown@unknown.invalid PRIVMSG #esoteric :41| :D * Madelon has quit (Ping timeout: 121 seconds) < 1272848791 0 :alise__!unknown@unknown.invalid PRIVMSG #esoteric :`quote < 1272848793 0 :HackEgo!unknown@unknown.invalid PRIVMSG #esoteric :98| ehird: every set can be well-ordered. corollary: every set s has the same diagram used from famous program talisman with fnord windows to cascade, someone i would never capitalize " i" < 1272848795 0 :alise__!unknown@unknown.invalid PRIVMSG #esoteric :`quote < 1272848796 0 :HackEgo!unknown@unknown.invalid PRIVMSG #esoteric :42| after all, what are DVD players for? < 1272848798 0 :alise__!unknown@unknown.invalid PRIVMSG #esoteric :`quote < 1272848799 0 :HackEgo!unknown@unknown.invalid PRIVMSG #esoteric :76| I had an idea for an AskReddit, but I forgot < 1272848802 0 :alise__!unknown@unknown.invalid PRIVMSG #esoteric :shitty rng < 1272848803 0 :alise__!unknown@unknown.invalid PRIVMSG #esoteric :`quote < 1272848804 0 :HackEgo!unknown@unknown.invalid PRIVMSG #esoteric :61| Seconds. 30 of them. Did I forget the word? < 1272848806 0 :alise__!unknown@unknown.invalid PRIVMSG #esoteric :`quote < 1272848807 0 :HackEgo!unknown@unknown.invalid PRIVMSG #esoteric :145| Why couldn't we have just kept STD? < 1272848818 0 :alise__!unknown@unknown.invalid PRIVMSG #esoteric :`quote 77 < 1272848818 0 :HackEgo!unknown@unknown.invalid PRIVMSG #esoteric :77| no Deewiant No?! I've been living a lie yep. Excuse me while I jump out of the window -> < 1272848819 0 :nooga!unknown@unknown.invalid PRIVMSG #esoteric :can you please stop? < 1272848827 0 :alise__!unknown@unknown.invalid PRIVMSG #esoteric :`quote 91 92 < 1272848828 0 :HackEgo!unknown@unknown.invalid PRIVMSG #esoteric :No output. < 1272848828 0 :alise__!unknown@unknown.invalid PRIVMSG #esoteric :no, never! < 1272848831 0 :alise__!unknown@unknown.invalid PRIVMSG #esoteric :`quote 91 < 1272848831 0 :alise__!unknown@unknown.invalid PRIVMSG #esoteric :`quote 92 < 1272848832 0 :HackEgo!unknown@unknown.invalid PRIVMSG #esoteric :91| actually just ate some of the dog food because i didn't have any human food... after a while they start tasting like porridge < 1272848838 0 :nooga!unknown@unknown.invalid PRIVMSG #esoteric :okay, continue < 1272848839 0 :alise__!unknown@unknown.invalid PRIVMSG #esoteric :not unless something interesting happens < 1272848840 0 :HackEgo!unknown@unknown.invalid PRIVMSG #esoteric :92| if a girl is that cute, i don't care how many penises she has < 1272848840 0 :nooga!unknown@unknown.invalid PRIVMSG #esoteric :forever < 1272848842 0 :alise__!unknown@unknown.invalid PRIVMSG #esoteric :`quote 92 < 1272848843 0 :HackEgo!unknown@unknown.invalid PRIVMSG #esoteric :92| if a girl is that cute, i don't care how many penises she has < 1272848853 0 :alise__!unknown@unknown.invalid PRIVMSG #esoteric :`quote 80 < 1272848854 0 :HackEgo!unknown@unknown.invalid PRIVMSG #esoteric :80| I think hamsters cannot be inert. < 1272848864 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :oklopol is somewhat crazy apparently. < 1272848870 0 :alise__!unknown@unknown.invalid PRIVMSG #esoteric :"somewhat" < 1272848871 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :`quote alise__ is actually getting on MY nerves now. < 1272848873 0 :HackEgo!unknown@unknown.invalid PRIVMSG #esoteric :No output. < 1272848878 0 :alise__!unknown@unknown.invalid PRIVMSG #esoteric :lol fail < 1272848884 0 :alise__!unknown@unknown.invalid PRIVMSG #esoteric :`quote 94 < 1272848885 0 :HackEgo!unknown@unknown.invalid PRIVMSG #esoteric :94|* oerjan swats FireFly since he's easier to hit -----### Meh * FireFly dies < 1272848889 0 :alise__!unknown@unknown.invalid PRIVMSG #esoteric :`quote 93 < 1272848890 0 :HackEgo!unknown@unknown.invalid PRIVMSG #esoteric :93| oohhh ha heh and what are your other characteristics? oh, many, madbrain but it's hardly worth it to go on with listing that list here < 1272848899 0 :Oranjer!unknown@unknown.invalid PRIVMSG #esoteric ::( < 1272848903 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :alise__: ... By our standards. < 1272848908 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :lul < 1272848914 0 :alise__!unknown@unknown.invalid PRIVMSG #esoteric :`quote 95 < 1272848915 0 :HackEgo!unknown@unknown.invalid PRIVMSG #esoteric :95| Oranjer: the taylor's series is also alternately fnord as follows ( i'm using the latex notation here): david ben gurion signed the compensation agreement with germany when there was considerable division over these issues, because these are speculations without " any historical basis". < 1272848916 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :this neiztche thing is like a fucking self help < 1272848918 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :LOL < 1272848920 0 :alise__!unknown@unknown.invalid PRIVMSG #esoteric :worst say of fnording a taylor series < 1272848922 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :`run echo -e "alise__, stop\nalise__, stop\nalise__, stop" < 1272848923 0 :HackEgo!unknown@unknown.invalid PRIVMSG #esoteric :alise__, stop \ alise__, stop \ alise__, stop < 1272848924 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :I didn't expect that < 1272848925 0 :alise__!unknown@unknown.invalid PRIVMSG #esoteric :EVAR < 1272848930 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Dammit < 1272848930 0 :alise__!unknown@unknown.invalid PRIVMSG #esoteric :*way < 1272848935 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :alise < 1272848945 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :do you know about NARWHALISM? < 1272848949 0 :alise__!unknown@unknown.invalid PRIVMSG #esoteric :lol wut < 1272848954 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :`run yes alise__ stop < 1272848955 0 :HackEgo!unknown@unknown.invalid PRIVMSG #esoteric :alise__ stop \ alise__ stop \ alise__ stop \ alise__ stop \ alise__ stop \ alise__ stop \ alise__ stop \ alise__ stop \ alise__ stop \ alise__ stop \ alise__ stop \ alise__ stop \ alise__ stop \ alise__ stop \ alise__ stop \ alise__ stop \ alise__ stop \ alise__ stop \ alise__ stop \ alise__ stop \ alise__ stop \ alise__ stop < 1272848959 0 :alise__!unknown@unknown.invalid PRIVMSG #esoteric :Sgeo: no < 1272848960 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :43| pikhq: A lunar nation is totally pointless. ehird: consider low-gravity porn fungebob: OK. Now I'm convinced. < 1272848965 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Classic. < 1272849001 0 :alise__!unknown@unknown.invalid PRIVMSG #esoteric :126| Ah, vulva. What is that, anyway? < 1272849017 0 :alise__!unknown@unknown.invalid PRIVMSG #esoteric :128| I can do everything a Turing machine can do, except love < 1272849021 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :I would like to go to the moon < 1272849043 0 :alise__!unknown@unknown.invalid PRIVMSG #esoteric :135| and an AMICED literal would presumably /add/ info to the source whatever info gets added, that's the value that the AMICED doesn't contain it's all falling into place < 1272849054 0 :nooga!unknown@unknown.invalid PRIVMSG #esoteric :!show sadbf < 1272849054 0 :EgoBot!unknown@unknown.invalid PRIVMSG #esoteric :sadol :M$0 :d:i,45000@>i-01(2]M0:i-i1:S$0:C;3:l#C-01:p:m0@:m%+m1d?=#Cp"1<:m?<-m10-s1-m1?=#Cp"1.!'2#Mm?=#Cp"1,:#Mm'1;0?=#Cp"1[]S-p1?=#Cp"1]?=#Mm00:p[S0:p+p1 < 1272849057 0 :nooga!unknown@unknown.invalid PRIVMSG #esoteric :wow < 1272849061 0 :nooga!unknown@unknown.invalid PRIVMSG #esoteric :it's still here < 1272849119 0 :alise__!unknown@unknown.invalid PRIVMSG #esoteric :18| GregorR-L: i bet only you can prevent forest fires. basically, you know. < 1272849119 0 :fungot!unknown@unknown.invalid PRIVMSG #esoteric :alise__: sounds similar to what you're doing < 1272849120 0 :alise__!unknown@unknown.invalid PRIVMSG #esoteric :Basically. < 1272849127 0 :alise__!unknown@unknown.invalid PRIVMSG #esoteric :Really? I'm flattered. < 1272849169 0 :alise__!unknown@unknown.invalid PRIVMSG #esoteric :sleep time now bye < 1272849191 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :hello < 1272849194 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :alise don't go < 1272849202 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :alise__: You sleep? < 1272849210 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Only... Midnight there. < 1272849213 0 :alise__!unknown@unknown.invalid QUIT :Remote host closed the connection < 1272849397 0 :nooga!unknown@unknown.invalid QUIT :Ping timeout: 264 seconds < 1272851188 0 :pineapple!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: off by one. it was 1am < 1272851220 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Oh, alise is still.. I think I forgot that I already saw that conversation < 1272851735 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :MOO < 1272851806 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :moo < 1272852481 0 :Sgeo!unknown@unknown.invalid PRIVMSG #esoteric :Lambda? < 1272852523 0 :Gregor!unknown@unknown.invalid PRIVMSG #esoteric :Lamb-baa. < 1272853759 0 :adu!~ajr@pool-173-66-9-50.washdc.fios.verizon.net JOIN :#esoteric < 1272854446 0 :Axtens!~Axtens@dsl-202-72-158-213.wa.westnet.com.au JOIN :#esoteric < 1272855314 0 :fax!unknown@unknown.invalid QUIT :Quit: Lost terminal < 1272858458 0 :Sgeo_!~Sgeo@ool-18bf618a.dyn.optonline.net JOIN :#esoteric < 1272858530 0 :Sgeo!unknown@unknown.invalid QUIT :Ping timeout: 245 seconds < 1272860780 0 :Oranjer!unknown@unknown.invalid PART #esoteric :? < 1272861022 0 :Alex3012_!~chatzilla@ool-18b989d3.dyn.optonline.net JOIN :#esoteric < 1272861190 0 :Alex3012!unknown@unknown.invalid QUIT :Ping timeout: 265 seconds < 1272861192 0 :Alex3012_!unknown@unknown.invalid NICK :Alex3012 < 1272862000 0 :adu!unknown@unknown.invalid PART #esoteric :? < 1272862079 0 :Oranjer!~HP_Admini@adsl-34-17-217.cae.bellsouth.net JOIN :#esoteric < 1272863069 0 :bsmntbombdood_!~gavin@174-16-214-66.hlrn.qwest.net JOIN :#esoteric < 1272863186 0 :bsmntbombdood!unknown@unknown.invalid QUIT :Ping timeout: 240 seconds < 1272864387 0 :jcp!~jw@bzflag/contributor/javawizard2539 JOIN :#esoteric < 1272865155 0 :SgeoN1!unknown@unknown.invalid QUIT :Ping timeout: 245 seconds < 1272866795 0 :Oranjer!unknown@unknown.invalid PART #esoteric :? < 1272867433 0 :jcp!unknown@unknown.invalid QUIT :Read error: Connection reset by peer < 1272867775 0 :MizardX!~MizardX@unaffiliated/mizardx JOIN :#esoteric < 1272868497 0 :FireFly!~firefly@unaffiliated/firefly JOIN :#esoteric < 1272869058 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :右翼 and 左翼 in Japanese are, literally, "right wing" and "left wing". And figuratively... "right wing" and "left wing". < 1272869066 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Who's responsible for that calque and can I please punch them? < 1272869144 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :(I should note that 翼 means "wing" as in the body part on various flying animals, not as in a wing of a building) < 1272870236 0 :myndzi!unknown@unknown.invalid PRIVMSG #esoteric :it's probably a transliteration of the phrases from english < 1272870253 0 :myndzi!unknown@unknown.invalid PRIVMSG #esoteric :doubt they had equivalent words so it's just a literal translation that depends on understanding the figurative meaning < 1272870301 0 :myndzi!unknown@unknown.invalid PRIVMSG #esoteric :also lol @ moo/lambda, am i the only one who got it? :P < 1272870426 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :myndzi: Yes, that's what a calque *is*. < 1272870640 0 :bsmntbombdood__!~gavin@97-118-212-50.hlrn.qwest.net JOIN :#esoteric < 1272870666 0 :bsmntbombdood__!unknown@unknown.invalid NICK :bsmntbombdood < 1272870874 0 :bsmntbombdood_!unknown@unknown.invalid QUIT :Ping timeout: 264 seconds < 1272872249 0 :adu!~ajr@pool-173-66-9-50.washdc.fios.verizon.net JOIN :#esoteric < 1272873038 0 :coppro!unknown@unknown.invalid PRIVMSG #esoteric :http://www.theonion.com/articles/geologists-we-may-be-slowly-running-out-of-rocks,17341/ < 1272873061 0 :coppro!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: I assume that the figurative meaning is in relation to politics? < 1272873073 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :coppro: Yes. < 1272873079 0 :coppro!unknown@unknown.invalid PRIVMSG #esoteric :ouch < 1272873431 0 :FireFly!unknown@unknown.invalid QUIT :Quit: null < 1272873599 0 :clog!unknown@unknown.invalid QUIT :ended < 1272873600 0 :clog!unknown@unknown.invalid JOIN :#esoteric < 1272874714 0 :bsmntbombdood!unknown@unknown.invalid QUIT :Remote host closed the connection < 1272876091 0 :Axtens!unknown@unknown.invalid QUIT :Read error: Connection reset by peer < 1272876964 0 :adam_d!~Adam@cpc2-acto6-0-0-cust48.brnt.cable.ntl.com JOIN :#esoteric < 1272877832 0 :coppro!unknown@unknown.invalid QUIT :Quit: I am leaving. You are about to explode. < 1272878314 0 :Tritonio_GR!~Tritonio@ix.ceid.upatras.gr JOIN :#esoteric < 1272878341 0 :Phantom_Hoover!~522ceedd@gateway/web/freenode/x-jqtkotzeadodcvsh JOIN :#esoteric < 1272878350 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :Grrr... < 1272878383 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :I tried alise's bijector and now it seems to have taken all of the hard disc space. < 1272878401 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :For "[[[]]]"! < 1272878415 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :You've been... bijected! < 1272878452 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :Aah! < 1272878490 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :I assume that this happened because there was a massive bignum in virtual memory. < 1272878511 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :But OS X seems to have resolved not to reclaim it. < 1272878838 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :",[.,]" is 42860344287450692837937001962400072422456192468221344297750015534814042044997444899727935152627834325103786916702125873007485811427692561743938310298794299215738271099296923941684298420249484567511816728612185899934327765069595070236662175784308251658284785910746168670641719326610497547348822672277487 < 1272878859 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :Perhaps I shouldhave pastebinned that. Oops. < 1272878900 0 :Phantom_Hoover!unknown@unknown.invalid QUIT :Quit: Page closed < 1272879605 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :What is 1? < 1272879952 0 :adu!unknown@unknown.invalid QUIT :Quit: adu < 1272880674 0 :Phantom_Hoover!~522ceedd@gateway/web/freenode/x-dqzvljlvokoxflet JOIN :#esoteric < 1272880692 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :alise's program isn't a proper bijection. < 1272880701 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :It encodes ++- and ++ the same. < 1272880714 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :Don't know if that came up last night. < 1272880863 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :I'm not sure that it can be fixed. < 1272880974 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :Well, that sucks. < 1272881047 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :It also means that there is no number for which it decodes ++-. < 1272881224 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :And it was so elegant... < 1272881238 0 :Phantom_Hoover!unknown@unknown.invalid PART #esoteric :? < 1272881310 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :The NxN -> N part is still good, though; I guess you just need some sort of fixup for non-loopy strings? Admittedly I didn't follow to what the final result ended up as. < 1272882212 0 :Tritonio_GR1!~Tritonio@tythes.ceid.upatras.gr JOIN :#esoteric < 1272882250 0 :Tritonio_GR!unknown@unknown.invalid QUIT :Ping timeout: 264 seconds < 1272882567 0 :Tritonio_GR!~Tritonio@ix.ceid.upatras.gr JOIN :#esoteric < 1272882765 0 :Tritonio_GR1!unknown@unknown.invalid QUIT :Ping timeout: 276 seconds < 1272883196 0 :oerjan!~oerjan@129.241.210.68 JOIN :#esoteric < 1272883205 0 :Phantom_Hoover!~522ceedd@gateway/web/freenode/x-oslterjfwagtdoes JOIN :#esoteric < 1272883223 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :I *think* that the BF-Nat bijection can be salvaged < 1272883236 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :um what was wrong with it? < 1272883239 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :It depends on the properties of the NxN->N bijection. < 1272883248 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :wait i was just thinking about that < 1272883254 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: It encodes ++- and ++ the same. < 1272883257 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :oh < 1272883270 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :Looking at the code I don't think it handles - at all. < 1272883283 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :Basically, I have two ideas. < 1272883315 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :The first is to include the length of the tuple in the outer NxN. < 1272883327 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :This obviously works, but it isn't a bijection. < 1272883338 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :i cannot help, someone is doing carpentry work outside the window, which is enough to turn my brain off instantly < 1272883338 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :And it has some horrible problems. < 1272883370 0 :adam_d!unknown@unknown.invalid QUIT :Ping timeout: 240 seconds < 1272883373 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :Because f(0, v) = 2v, so all of the even numbers are the null tuple. < 1272883407 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :Alternately, you could make it f(, ) < 1272883415 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :i don't see how it can be wrong in that way you describe < 1272883424 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :Which only gives null for 2^k-1. < 1272883438 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :_What_? < 1272883465 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :I'm not explaining this well, am I? < 1272883515 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :no. i don't recall that the code i saw previously had that problem, assuming you fixed the lack of a 1+ in the list encoding < 1272883517 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :OK, so we're injecting a tuple {1, 2, 3, 4} as {1, {2, {3, {}}}} < 1272883526 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :you are missing a 4 < 1272883529 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :Then flattening that, taking {} as 0. < 1272883534 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :Forget it± < 1272883537 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :no! < 1272883549 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :s/{1, 2, 3, 4}/{1, 2, 3}/ < 1272883552 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :ok < 1272883552 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :There? < 1272883572 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :OK, so then we have f(1, f(2, f(3, 0))) < 1272883573 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :yes. the thing is, you must add 1 to each tuple < 1272883582 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :i thought that had been corrected < 1272883600 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :because tuple bijection is between [0..] x [0..] <-> [0..] < 1272883601 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :And use 0 as the terminator? < 1272883629 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :the point is you must not let {} have the same representation as a cons cell, duh < 1272883640 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :Yeah, OK. < 1272883645 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :That was my second idea. < 1272883665 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :But that relies on the way f behaves if you use it over and over. < 1272883686 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :f^-1, rather. < 1272883698 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :um no that's a different problem < 1272883720 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :But we want all nats to map to a BF program, fight? < 1272883725 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :s/fight/right/ < 1272883725 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :yes. < 1272883738 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :now look. it's a list, an algebraic data type < 1272883741 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :OK, but this encoding uses 0 as the end of the list? < 1272883770 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :data [a] = [] | a:[a], in haskell < 1272883781 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :OK. < 1272883783 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :(incorrect but enlightening) < 1272883801 0 :cheater2!unknown@unknown.invalid QUIT :Ping timeout: 246 seconds < 1272883805 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :that has _two_ branches, one for [] and one for : < 1272883819 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :they must be mapped to _disjoint_ sets < 1272883839 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :if [] is mapped to 0, then _no_ cons cell must be mapped to 0 < 1272883842 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :But we need to demonstrate that if x_n+1 = cdr(f^-1(x_n)), the sequence hits 0 for all x_0. < 1272883849 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :Yeah, I get that. < 1272883878 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :right. but your problem at the moment was that you couldn't represent all lists. this fixed that. < 1272883888 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :But we need to prove that every nat decrushes into a valid list. < 1272883889 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :incidentally it also fixes the other thing, though < 1272883896 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :i.e. one that has 0 in it. < 1272883917 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :yes. i have a proof, which is what i was thinking about before i came here now < 1272883922 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :Yay! < 1272883925 0 :cheater2!~cheater@ip-80-226-12-237.vodafone-net.de JOIN :#esoteric < 1272883933 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :first, note that f(x,y) >= x and y < 1272883953 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :(i assume. it is easy to make an f with that property if you don't) < 1272883959 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :Obviously. < 1272883968 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :You remember what f is? < 1272883977 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :the tuple encoding, i presume < 1272883990 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :Yeah, but its value. < 1272884004 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :f(u, v) = 2^u(2v+1)-1 < 1272884008 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :2^x * (2*y+1), or possibly that triangle thing - both are fine for this < 1272884014 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :oh -1 < 1272884021 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :Yeah, so it works for 0. < 1272884051 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :I think that what you said is correct; f(u, v) >= u and v. < 1272884077 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :in which case, 1 + f(u,v) > u and v, right? < 1272884111 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :... I think so. < 1272884150 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :well it is. < 1272884158 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :OK. < 1272884160 0 :Rugxulo!~user@adsl-065-013-115-246.sip.mob.bellsouth.net JOIN :#esoteric < 1272884165 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :Yes, obviously! < 1272884180 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :now then, when you recurse, you get a strictly smaller number at each step. thus the recursion must terminate. QED: < 1272884183 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :*QED. < 1272884203 0 :Rugxulo!unknown@unknown.invalid PRIVMSG #esoteric : x264 is amazing < 1272884207 0 :Rugxulo!unknown@unknown.invalid PRIVMSG #esoteric :they can encode Blu-Ray now < 1272884235 0 :Rugxulo!unknown@unknown.invalid PRIVMSG #esoteric :and didn't you see the big whining about how Jobs claims even Theora is going to be attacked over patents? < 1272884242 0 :Rugxulo!unknown@unknown.invalid PRIVMSG #esoteric :ACTION is sorry, logreading < 1272884259 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: Hang on , why 1+f? < 1272884305 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :i said that, you need to assign [] and u:v as _disjoint_ sets. < 1272884311 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :Oh, yeah. < 1272884330 0 :Rugxulo!unknown@unknown.invalid PRIVMSG #esoteric :ACTION wonders why alise was messing with QBasic < 1272884332 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :the easiest way to do that and still use all Nats is to do [] -> 0 and shift (u,v) by 1 < 1272884373 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Rugxulo: It's a habit of his; we had one.. well, maybe not channel-wide, but multiple-people QBasic evening one day a while ago. < 1272884374 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :Well, I don't think you'd get 0, using alise's encoding... < 1272884382 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Rugxulo: The HTMLized QBasic manual is from that time. < 1272884386 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :If you set the instructions correctly. < 1272884406 0 :Rugxulo!unknown@unknown.invalid PRIVMSG #esoteric :dumb question, but why not use FreeBASIC instead? < 1272884434 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Rugxulo: For me, it was the semi-nostalgick aspect. Though possibly GW-Basic would have been even more so. < 1272884442 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Rugxulo: Who knows why alise does anything? < 1272884446 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :you cannot get 0 from a finite list, naturally. you have (0,0) -> 0, after all, so it obviously gets infinite if you don't do the 1+ thing < 1272884456 0 :Rugxulo!unknown@unknown.invalid PRIVMSG #esoteric :ever heard of Jeff Vavasour? < 1272884457 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :It is an enigma wrapped in old newspapers, and smells of fish. < 1272884462 0 :Rugxulo!unknown@unknown.invalid PRIVMSG #esoteric :www.vavasour.ca (I think) < 1272884467 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :oh wait < 1272884477 0 :Rugxulo!unknown@unknown.invalid PRIVMSG #esoteric :Digital Eclipse, etc. < 1272884482 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :um no < 1272884498 0 :Rugxulo!unknown@unknown.invalid PRIVMSG #esoteric :he wrote a (partial?) Breakout emulator in BASICA/GWBASIC/QBASIC < 1272884500 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :So, map '-'..'.' to 1..6, then if it's a loop flatten it and add either 7 or 6? < 1272884511 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :IDK which. < 1272884532 0 :Rugxulo!unknown@unknown.invalid PRIVMSG #esoteric :Breakout (arcade game, which I think Steve Wozniak and Steve Jobs worked on for Atari [!]) < 1272884538 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :Phantom_Hoover: no, map '-' .. '.' to 0..6, and add 6 < 1272884555 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :But if - is 0...? < 1272884575 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :Or is the whole thing in an implicit loop? < 1272884585 0 :Rugxulo!unknown@unknown.invalid PRIVMSG #esoteric :QB is okay, kinda old, but some impressive stuff was written in it < 1272884598 0 :Rugxulo!unknown@unknown.invalid PRIVMSG #esoteric :it's actually on MS' FTP site in OLDDOS.EXE, I think < 1272884601 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :well the encoding of the whole program is the same as the encoding of a single loop, minus the 6 < 1272884619 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :OK, but if - is mapped to 0 we get alise's problem. < 1272884623 0 :Rugxulo!unknown@unknown.invalid PRIVMSG #esoteric :ACTION finds it odd that they *still* ship DEBUG.EXE, EDIT.EXE, EDLIN.EXE, but no QBasic < 1272884634 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :oh, hm < 1272884647 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :Phantom_Hoover: ok right. that is a problem. < 1272884685 0 :Rugxulo!unknown@unknown.invalid PRIVMSG #esoteric : probably in the future, storage will be voluminous and fast enough that people won't bother compressing at all < 1272884689 0 :Rugxulo!unknown@unknown.invalid PRIVMSG #esoteric :highly doubt it < 1272884718 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :- is equivalent to the empty program. < 1272884733 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :oh wait! < 1272884763 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :What? < 1272884772 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :Phantom_Hoover: no it's not. the empty program is 0. - is 1, because we _still_ do the 1+ thing < 1272884802 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :OK, so what tuple is ",+.", say? < 1272884802 0 :Rugxulo!unknown@unknown.invalid PRIVMSG #esoteric : Even the digital movies they distribute to real theaters aren't lossless; according to one article, they encode each frame as a separate JPEG2000 file < 1272884805 0 :Rugxulo!unknown@unknown.invalid PRIVMSG #esoteric :JPEG can do lossless < 1272884831 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :{5, 2, 6, 0}? < 1272884860 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Rugxulo: Yes, and JPEG2000 can do lossless too; I just don't think they use it like that. < 1272884863 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :And ",-." is {5, 1, 6, 0}? < 1272884869 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :1+f(5,1+f(2,1+f(6,1+f(0,0)))) < 1272884870 0 :Rugxulo!unknown@unknown.invalid PRIVMSG #esoteric : 12 I think, that's 640x480 (highest QBasic res, probably due to BIOS limit, but VESA can do higher) < 1272884914 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: So if we decons n and the cdr is one then we stop? < 1272884914 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Rugxulo: I guess they might. "Motion JPEG 2000 (often referenced as MJ2 or MJP2) is the leading digital cinema standard currently supported by Digital Cinema Initiatives (a consortium of most major studios and vendors) for the storage, distribution and exhibition of motion pictures. -- each frame is an independent entity encoded by either a lossy or lossless variant of JPEG 2000." < 1272884925 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :no if the cdr is 0 < 1272884945 0 :Rugxulo!unknown@unknown.invalid PRIVMSG #esoteric :and yet my (low-end) digital cam only uses .JPG format (not lossless, either, variable compression) < 1272884946 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :f(0, 0) = 0. < 1272884960 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :So 1+f(0, 0) is 1. < 1272884966 0 :Rugxulo!unknown@unknown.invalid PRIVMSG #esoteric : ais523, know of any easy way to disassemble a file that is isn't an object file, just raw x86 instructions < 1272884968 0 :Rugxulo!unknown@unknown.invalid PRIVMSG #esoteric :ndisasm < 1272884978 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :yes. 1 <-> - as a program < 1272884982 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :We don't need to decons 0. < 1272884992 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Rugxulo: You're a bit late, since I suggested ndisasm there. :p < 1272884996 0 :Rugxulo!unknown@unknown.invalid PRIVMSG #esoteric :or distorm or BIEW (now called BEYE), IDA Free, etc. etc. < 1272885010 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :it is the command 1, followed by the program 0 which is empty < 1272885019 0 :Rugxulo!unknown@unknown.invalid PRIVMSG #esoteric : AnMaster: The Windows program DEBUG.COM could do it < 1272885020 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Rugxulo: He's partial to the AT&T syntax anyway. < 1272885030 0 :Rugxulo!unknown@unknown.invalid PRIVMSG #esoteric :first of all, not Windows, pure DOS, secondly it's 8086 only < 1272885033 0 :Rugxulo!unknown@unknown.invalid PRIVMSG #esoteric :objdump, then < 1272885041 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :OK, I'll modify the code alise posted on the wiki. < 1272885048 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Rugxulo: Yes, but it needed some flags. Say, shouldn't you read to the end before commenting?-) < 1272885055 0 :Rugxulo!unknown@unknown.invalid PRIVMSG #esoteric :objdump -d < 1272885056 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :In a while, though. < 1272885073 0 :Rugxulo!unknown@unknown.invalid PRIVMSG #esoteric :perhaps need objcopy to binary first ("-Obinary"? I forget) < 1272885080 0 :Rugxulo!unknown@unknown.invalid PRIVMSG #esoteric :shouldn't I read to end? nah ;-) < 1272885085 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Rugxulo: It needs objdump -b binary -m i386:x86-64 -d; that's not completely trivial. < 1272885114 0 :Rugxulo!unknown@unknown.invalid PRIVMSG #esoteric :well, he *could* run DOSEMU and any DOS-based tool there (including ndisasm) < 1272885154 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :I don't see why he'd run ndisasm in DOSEMU/dosbox, when it's available packaged in most Linux distributions. Anyway, it produces the wrong syntax. < 1272885166 0 :Rugxulo!unknown@unknown.invalid PRIVMSG #esoteric :right, forgot < 1272885179 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: Why is the +1 even necessary? < 1272885181 0 :Rugxulo!unknown@unknown.invalid PRIVMSG #esoteric :although shame on him for not understanding / preferring Intel syntax < 1272885197 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :As for JPEG 2000, I don't think I've heard of any other real uses for it than digital cinema; it's very much different from plain JPEG, you know, being a wavelet-based thing. < 1272885199 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :Phantom_Hoover: so that the representation of an empty list is different from a nonempty one < 1272885233 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :a nonempty list is essentially a tuple of car and cdr, but the tuple encoding has no extra room for the [] a list can have < 1272885235 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :Make the empty list 0. < 1272885252 0 :Rugxulo!unknown@unknown.invalid PRIVMSG #esoteric : didn't have nasm around on that computer (so get it, pre-built even, at http://www.nasm.us) < 1272885284 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :Phantom_Hoover: the _tuple_ encoding is [0..] x [0..]. if you don't add 1, there _is_ a tuple which encodes to 0. < 1272885293 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :I suppose. < 1272885415 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :So, to make sure: < 1272885416 0 :Rugxulo!unknown@unknown.invalid PRIVMSG #esoteric :ACTION wonders why such a violently DOS-hating crowd would use QBASIC < 1272885480 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Rugxulo: Where did you get the "violently DOS-hating" part from? < 1272885493 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :1. Swap the instructions '-'..'.' in BF with the numbers 0..6, and put any loops into their own tuples. < 1272885502 0 :Rugxulo!unknown@unknown.invalid PRIVMSG #esoteric :from experience ;-) < 1272885529 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :Phantom_Hoover: an _empty_ loop is not a tuple < 1272885544 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :Is it just null? < 1272885579 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :Phantom_Hoover: the thing is, the encoding for single commands is different from the encoding for sequences of commands < 1272885583 0 :Ilari!unknown@unknown.invalid PRIVMSG #esoteric :Motion JPEG2000? Might not yield the smallest files for given quality... < 1272885600 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :So, wait, when we're uncrushing n, do we stop on 0-as-cdr? < 1272885602 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Rugxulo: You must be talking about some other people than us, then. Admittedly a lot of us couldn't consider using DOS for usual day-to-day computing, but that's pretty far from doing "DOS-hating". < 1272885608 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :as a single command, a loop is just 6+whatever the sequence inside is < 1272885612 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :Yes. < 1272885649 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :if that sequence is not empty, then it is 1+whatever its car,cdr tuple is < 1272885662 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :OK. < 1272885664 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Ilari: It might be good for the particular quality level they're interested in. Or alternatively it could be just an accident of history that they settled on that format. < 1272885672 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :the car is encoded as a single command, but the cdr is encoded as a command sequence < 1272885712 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :the whole program is encoded as a command sequence < 1272885713 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :So for "++" you would take {1, 1}, then add one to get {2, 2}, then stick a 0 on the end to get {2, 2, 0}, then cons it? < 1272885718 0 :Rugxulo!unknown@unknown.invalid PRIVMSG #esoteric :fizzie: I get a fair bit of flack for ever mentioning (Free)DOS to some people < 1272885739 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :+ is 1 as a command iirc < 1272885753 0 :Ilari!unknown@unknown.invalid PRIVMSG #esoteric :And if its lossless, the files are going to be very large... And as resolutions are high, the movies would be huge... < 1272885775 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: Is that correct? < 1272885781 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :and no. adding 1 to the car before consing is not the same as adding 1 to the cons afterwards, which is what you should do < 1272885797 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :Ooh. < 1272885808 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :note that there is _no_ empty single command, so you _don't_ need to add 1 for those < 1272885820 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :instead you add 6 for embedded loops < 1272885821 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Ilari: I seem to recall the article mentioning file sizes of around 200-500 gigabytes; I presume that was for the common 2K resolution (2048×1080), so you can guesstimate whether it's lossless or not from that. Probably not. < 1272885824 0 :Ilari!unknown@unknown.invalid PRIVMSG #esoteric :Trying to make mapping of bf programs to integers without gaps? < 1272885836 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :So we take {1, 1, 0}, then take {1, f(1, 0)}? < 1272885844 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :Plus one. < 1272885866 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :i don't recommend confusing the notation like that :D < 1272885878 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :{1, 1+f(1, 0)}, then 1+f(1, f(1, 0))? < 1272885884 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :{1,0} (the list) is 1+f(1,0) < 1272885885 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :yes < 1272885887 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :Ilari: Yes. < 1272885911 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :It started yesterday evening. < 1272885991 0 :Ilari!unknown@unknown.invalid PRIVMSG #esoteric :fizzie: 200 gigs for sightly less than 2 hour movie would yield ~270Mbps. Which would be near-lossless with good codec. < 1272885993 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Ilari: "Briefly, the specification calls for picture encoding using the ISO/IEC 15444-1 "JPEG2000" (.jp2) standard and use of the CIE XYZ color space at 12 bits per component encoded with a 2.6 gamma applied at projection, and audio using the "Broadcast Wave" (.wav) format at 24 bits and 48 kHz or 96 kHz sampling, controlled by an XML-format Composition Playlist, into an MXF-compliant file at a maximum data rate of 250 Mbit/s." 250 Mbps doesn't sound quite loss < 1272885993 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :less; that's only around 1.3 megabytes per frame. < 1272886014 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :I don't believe there's such a thing as "near-lossless". < 1272886017 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :And ",[.,]" -> {5, {4, 5}}, then work the {4, 5} out as if it was a standalone program, then add 6? < 1272886041 0 :Rugxulo!unknown@unknown.invalid PRIVMSG #esoteric :presumably the part that the human eye can't detect very well (which is JPEG's strong suit, right?) < 1272886047 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :yeah < 1272886065 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :this is all very elegant if you think of it as algebraic data types < 1272886086 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Rugxulo: It's still JPEG 2000, not JPEG. But yes, that's the idea. < 1272886123 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: I find the whole thing to be the most elegant. < 1272886136 0 :Ilari!unknown@unknown.invalid PRIVMSG #esoteric :Sometimes one sees compression @ 270Mbps in order to pack HD video data for sending over SDI link. And that's with low latency requirements -> not as good compression. < 1272886145 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :I've never seen any bijections between structured text and the nats before. < 1272886207 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :mhm < 1272886220 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :I wonder if we can generalise it... < 1272886258 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :certainly, any algebraic data type should work, although the (0,0) <-> 0 infinite recursion problem _might_ crop up again if you're not careful < 1272886310 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :basically, whenever you have a type that consists of alternatives, you encode each alternative and then do something to the resulting numbers to make the results disjoint < 1272886323 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :The behaviour of f is fairly interesting by itself. < 1272886327 0 :Ilari!unknown@unknown.invalid PRIVMSG #esoteric :Well, 250Mbps with Motion JPEG2000 is probably better quality than 270Mbps VC-2, since one doesn't have to lose quality for less latency. And 270Mbps is used for studio streams that must be of extremely high quality. < 1272886345 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :if one alternative is finite, put it first and the (0,0) problem disappears for that choice < 1272886349 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Ilari: I don't know if they specify higher data rates for resolutions like 4K (4096x2160 or around that), though. That's a lot of pixels per frame. < 1272886359 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :f(0, x) = 2x, and f(x, 0) = 2^x-1 < 1272886397 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :Which leads to the interesting if undesirable quality that all of the even numbers are in one column of the table. < 1272886417 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :heh < 1272886455 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :I have a nice little table of the first few conses. < 1272886507 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :as we noted before, that f encoding is really biased to blow up cars < 1272886515 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :Yes. < 1272886535 0 :tombom!tombom@wikipedia/Tombomp JOIN :#esoteric < 1272886547 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :But unless someone can think of an elegant deconsing of the triangular one, it's the best we've got. < 1272886554 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :yeah < 1272886587 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Ilari: Now look what you did: you made me go peek at the DCI spec. < 1272886603 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :The rows are all that other type of sequence where u_n+1=ru_n+a < 1272886609 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :Algebraic? < 1272886627 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Ilari: "However in the exclusive case to accommodate a 2K, 48 FPS, 12 bit DCDM to use [SMPTE 372M Dual Link HD-SDI] as an interface, it is acceptable, but not recommended, to allow 10 bit color sub-sampling to create the DCDM* at the output of the Image Media Block decoder. This bit depth reduction and color subsampling is only allowed in the single combination of a DCDM at 2K, 48 FPS being transported over a link encrypted SMPTE 372M connection." < 1272886627 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :um what? < 1272886640 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :I can't remember what it's called. < 1272886655 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :linear recursive? < 1272886655 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: Sounds like a riotous function there. < 1272886670 0 :Ilari!unknown@unknown.invalid PRIVMSG #esoteric :"The data size of two hours movie amounts to 8TB." < 1272886673 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :fizzie: i _may_ have slightly punnified that sentence < 1272886682 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Oh, that's just "may"? < 1272886682 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :Actually, it seems that all of the rows have the same r and a. < 1272886698 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :i admit nothing. NOTHING. ok, maybe a little. < 1272886740 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :Phantom_Hoover: is this still the 2^u*(2*v+1)-1 encoding? < 1272886744 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :Yes. < 1272886756 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :But it still blows up incredibly quickly. < 1272886772 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :[[[]]] took up the entire hard drive with VM. < 1272886779 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :If someone wants to worry about the triangular version, you could start with one of the formulas at http://www.research.att.com/~njas/sequences/A000217 -- that's the "first row" of the table of the triangular thing, so if you can easily map n into the largest one of those numbers, it's trivial to then get the actual coordinates. < 1272886792 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :Admittedly there was only ~500M left on the HD, but still. < 1272886804 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :(After the references there's a big list of ways to compute them numbers.) < 1272886821 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :fizzie: it's the reversal that is the problem < 1272886837 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: Yes, but it gives many different things to attempt to reverse. < 1272886843 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :fizzie: What about the classic n(n+1)/2? < 1272886846 0 :hiato!~fdulu@41-132-16-47.dsl.mweb.co.za JOIN :#esoteric < 1272886848 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :it needs a square root, essentially < 1272886857 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :And oerjan's right. < 1272886858 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :Phantom_Hoover: that's the one we're talking about < 1272886903 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :i suppose we could do newton's method approximated with bignum ints < 1272886929 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :It's a trade-off between elegance and practicality. < 1272887017 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :An exponential generating function for the inverse of this sequence is given by ... and then something horrible < 1272887089 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Yes, it's always a bad sign when functions start to get names of people. < 1272887109 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :Bleugh. < 1272887146 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :this sequence by Triangle (and a bit Robert) < 1272887198 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :There's a book about generating functions with the title "generatingfunctionology" (all lowercase); I liked it because of the name already. < 1272887200 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :http://www.amazon.com/reader/1568812795?_encoding=UTF8&ref_=sib_dp_pt#reader-link < 1272887213 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :I guess the official name is maybe not lowercased, but that's the way the cover's printed. < 1272887240 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :(It was course literature on a discrete maths thing.) < 1272887274 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Funny product description there. "One of the most important and relevant recent applications of combinatorics lies in the development of Internet search engines whose incredible capabilities dazzle even the mathematically trained user." < 1272887288 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :some concatenatingwordology there < 1272887299 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :It's like the numerical matrix course where the instructor started by talking about the Google matrix. Everyone wants to get on the Internet wagon. < 1272887302 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Even mathists. < 1272887315 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Or is it "mathologists"? < 1272887351 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :Is "mathematicians" too inaccurate? < 1272887363 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Pathological mathologists. < 1272887365 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :mathophysics < 1272887373 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Mathocalypsists. < 1272887400 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :the mathocalypse will not be nice. it will be very pretty, though. < 1272887479 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :hm if you want an f encoding that is balanced between x and y, you essentially get approximately square root demanded automatically < 1272887504 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :because [1..x] x [1..x] has size x^2 < 1272887534 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :on the other hand, hm < 1272887534 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :sqrt is at this point a lesser evil. < 1272887546 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :if you don't need it _that_ balanced... < 1272887625 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :The current cons causes us to get a 38218-digit number for the cat program. < 1272887630 0 :cheater3!~cheater@ip-80-226-228-115.vodafone-net.de JOIN :#esoteric < 1272887673 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :A 7-char program. < 1272887737 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :That's FOUR ORDERS OF MAGNITUDE. < 1272887756 0 :Ilari!unknown@unknown.invalid PRIVMSG #esoteric :What cat program? Presumably something more complicated than ',[.,]'... < 1272887771 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :,[.[-],] < 1272887787 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :The no-change-on-EoF version. < 1272887798 0 :cheater2!unknown@unknown.invalid QUIT :Ping timeout: 240 seconds < 1272887824 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :compatible with 0 on eof < 1272887843 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :,[.,] still gives a number two orders of magnitude greater. < 1272887852 0 :Ilari!unknown@unknown.invalid PRIVMSG #esoteric :Hmm... Structure [[]], 5 segments... < 1272887888 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :A 22 digit num,ber. < 1272887893 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :each loop nesting blows up things with 2^... essentially < 1272887969 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :It's particularly irksome because I can't tell what could be in the lower numbers. It's basically all junk, I think. < 1272887976 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :Valid junk, though. < 1272887979 0 :cheater2!~cheater@ip-80-226-45-169.vodafone-net.de JOIN :#esoteric < 1272888195 0 :cheater3!unknown@unknown.invalid QUIT :Ping timeout: 276 seconds < 1272888240 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :Is it that hard to reverse the function? We've already *got* a mathematically elegant one, so can we just live with using sqrt? < 1272888272 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :well we can, it's just that sqrt on bigints isn't a common builtin function afaik < 1272888291 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :Oh. < 1272888311 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: GMP at least does square roots. < 1272888318 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :Haskell? < 1272888329 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :there's probably a haskell package for it < 1272888352 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :but basic sqrt in haskell is for floating point types only < 1272888366 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :Appalling! < 1272888417 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :http://www.haskell.org/haskellwiki/Generic_number_type says "The most efficient way is to call the native implementation of the square root of GNU's multiprecision library. (How to do that?) The most portable way is to implement a square root algorithm from scratch." and implements something iterative. < 1272888426 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :The "How to do that?" isn't especially helpful. < 1272888611 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :well i guess stealing that code may be an option :D < 1272888739 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :right that is newton's method < 1272888758 0 :Phantom_Hoover!unknown@unknown.invalid QUIT :Ping timeout: 252 seconds < 1272888841 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :There's also http://gmplib.org/manual/Square-Root-Algorithm.html but that's a bit specific to their particular representation of integers. < 1272888851 0 :Phantom_Hoover!~522ceedd@gateway/web/freenode/x-caegtsvqjphtawbg JOIN :#esoteric < 1272888886 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: So how do we represent null lists, again? < 1272888893 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :0 < 1272888932 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :Oh, yeah. < 1272888963 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :http://www.haskell.org/haskellwiki/Generic_number_type#squareRoot but i wonder why the heck they recurse on squareRoot itself... < 1272888974 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :And do we add 1 to the f(0, 0) at the end? < 1272888988 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :I'm sorry, I'm just forgetful. < 1272889022 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :there is no f(0,0) at the end unless you actually have a car that is 0 there < 1272889050 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :(that - from before i presume) < 1272889051 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :OK, so at the end you decons and find that the car is the last element and the cdr is 0? < 1272889061 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :yep < 1272889083 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :you _do_ subtract 1 before that decons, naturally < 1272889086 0 :Ilari!unknown@unknown.invalid PRIVMSG #esoteric :I think I figured out a way to reduce enumerating brainfuck programs to enumerating non-empty (ordered) trees... But how to enumerate ordered trees... < 1272889119 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :This method works fine *in theory*. < 1272889129 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :The numbers are enormous in practice. < 1272889130 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :Ilari: why non-empty? the empty bf program is perfectly legal < 1272889200 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :i suspect that recursive squareRoot in there was added by someone who didn't know what they were doing < 1272889322 0 :Ilari!unknown@unknown.invalid PRIVMSG #esoteric :Actually, reducing problem of... < 1272889325 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :Recursion seems appropriate in this context. < 1272889344 0 :Ilari!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: Encoding empty brainfuck program would need encoding of tree containing just one node... < 1272889441 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :Phantom_Hoover: no, because the lowerRoot is supposed to be the initial estimate for the newton's method. if you use squareRoot to refine that estimate you never actually _finish_ afaict. not that i have run it. < 1272889471 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :but i am arrogant enough to edit that page, now < 1272889485 0 :Ilari!unknown@unknown.invalid PRIVMSG #esoteric :Well, if empty tree is included in enumeration, then one would need to know enumeration of it so one can skip it. < 1272889501 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :or wait it may hit squareRoot 1 < 1272889507 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :let me check that again < 1272889546 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :oh! < 1272889552 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :now i understand it. scratch that. < 1272889564 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :ACTION whistles innocently. < 1272889565 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :Ilari: Don't we basically use trees? < 1272889591 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :With the nested tuples? < 1272889619 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :Not that I would know. < 1272889665 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :it doesn't immediately divide by the highest 2^n, it divides by the highest 2^2^n, so it makes perfect sense to recurse to find lower powers of 2 that still divide it < 1272889732 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :Wait, what are the algorithms for the triangular bijection? < 1272889766 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :ACTION will have to say that to a layman. < 1272889786 0 :Ilari!unknown@unknown.invalid PRIVMSG #esoteric :Ordered trees meaning that 'x <- {x <- x, x}' and 'x <- {x, x <- x}' are different. < 1272889786 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :triang(u+v)+u where triang n = n*(n+1)`div`2; plus or minus any off-by-one errors < 1272889790 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :Phantom_Hoover: ^ < 1272889839 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :OK, and do we have an inverse? < 1272889847 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :supposedly yes < 1272889855 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :What is it? < 1272889867 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :finding u+v is approximately a square root < 1272889900 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :multiply by 2 then take square root, except there might be some adjusting for that +1 in the product < 1272889947 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :lessee < 1272889992 0 :Rugxulo!unknown@unknown.invalid PRIVMSG #esoteric :all those quotes (recent log), too bad my B93 proggie only randomly prints 4 :-P < 1272889997 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :1 -> 1, 2 -> 2, 3 -> 2, 4 -> 2, 5 -> 3, 6 -> 3, there has to be an off-by-something error in there < 1272890034 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :1 3 6 10 15 21 ... are the triangular numbers < 1272890036 0 :Ilari!unknown@unknown.invalid PRIVMSG #esoteric :How many ordered trees of n nodes are there anyway? < 1272890081 0 :Rugxulo!unknown@unknown.invalid QUIT :Quit: math no fun < 1272890090 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :0 1 3 6 10 15 21 ... are the triangular numbers < 1272890105 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :Ilari: How do you represent ",[.[-],]"? < 1272890150 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :0:(0,0), 1:(0,1), 2:(1,0), 3:(0,2), 4:(1,1), 5:(2,0), 6:(0,3) < 1272890151 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :For our method it seems to be {4, {5, {0}, 4}}. < 1272890169 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :Sans terminators. < 1272890213 0 :Ilari!unknown@unknown.invalid PRIVMSG #esoteric :Phantom_Hoover: The tree part of it would be 'x <- x <- x'. < 1272890216 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :ok that direction looks correct < 1272890263 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :Ilari: What is x? < 1272890273 0 :Ilari!unknown@unknown.invalid PRIVMSG #esoteric :Phantom_Hoover: Depicts node. < 1272890288 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :And what are the contents of the nodes? < 1272890395 0 :Ilari!unknown@unknown.invalid PRIVMSG #esoteric :Ah, number of ordered trees with n nodes is C(n-1) (Catalan numbers)... < 1272890402 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :! < 1272890412 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :That's what got me started on this± < 1272890428 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :wait, what < 1272890440 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :Phantom_Hoover: you're not secretly clive gifford are you? < 1272890447 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :Stephen Morley used the Catalan numbers to work out the no. of bits needed for a BF program of length n. < 1272890464 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :Which set me thinking whether it would be possible to use that. < 1272890466 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :ACTION sent a message involving catalan numbers to him last week < 1272890506 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :Clive Gifford the journalist? < 1272890547 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :i know nothing about him being a journalist, it's the guy with eigenratios of self-interpreters < 1272890613 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :and i did a very crude estimate of such a ratio which ended up being the catalan numbers in one column < 1272890630 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :ACTION has no idea what an eigenratio is < 1272890658 0 :Ilari!unknown@unknown.invalid PRIVMSG #esoteric :There are no contents in these nodes. It is representation of structure of the program. < 1272890675 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :i'm still waiting to hear back about my next refined estimate, i'm afraid it ruins one of his hypotheses so i hope he's not angry at me < 1272890702 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :Phantom_Hoover: basically if you have a self-interpreter for a programming language < 1272890728 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :and then you give it itself as argument, so it runs itself < 1272890743 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :and you give _that_ the self-interpreter as argument, etc. < 1272890766 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :OK... < 1272890789 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :then for some self-interpreters as you nest this, the running time gets slower in the limit by a constant factor each step < 1272890811 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :growing approximately like r^n < 1272890867 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :then r is the eigenratio. clive gifford has a blog about this: http://eigenratios.blogspot.com/ < 1272890880 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :OK/ < 1272890893 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :Maths is never as cool once you learn it. < 1272890909 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :Well, for a given value of "cool" < 1272890922 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :he's used matrices to calculate this ratio for some interpreters, the "eigen-" is because the ratio turns out to be an eigenvalue of that matrix < 1272891022 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :Phantom_Hoover: back to the bijection; i think multiplying by 2 and then taking square root gives either the floor of u+v or 1 more than it - i don't see a way to get either directly so there needs to be a postcheck for which one is right < 1272891050 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :And how do we derive u and v from u+v? < 1272891075 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :well we start with n = triang(u+v)+u < 1272891085 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :Yep. < 1272891090 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :so once we have u+v, u = n-triang(u+v) < 1272891100 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :Oh. < 1272891100 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :and then v = (u+v)-u < 1272891140 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :Any progress on the sqrt? < 1272891155 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :that haskell link should work fine enough? < 1272891173 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :(i was wrong about that recursion being a problem btw) < 1272891211 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :http://www.haskell.org/haskellwiki/Generic_number_type#squareRoot < 1272891306 0 :FireFly!~firefly@unaffiliated/firefly JOIN :#esoteric < 1272891316 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :Oh, OK. < 1272891404 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :Ilari: http://safalra.com/programming/esoteric-languages/bf/program-density/ is safalra's page on the lowest number of bits needed to represent a BF program. The use of the Catalan numbers in both can't be a coincidence. < 1272891440 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :probably not < 1272891471 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :Probably not a coincidence or probably not not a coincidence? < 1272891498 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :xkcd is picking up these past couple of times... < 1272891508 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :probably not *ducks* < 1272891573 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :That one was pretty good. < 1272891962 0 :oerjan!unknown@unknown.invalid QUIT :Quit: Later < 1272892058 0 :Phantom_Hoover!unknown@unknown.invalid PART #esoteric :? < 1272892186 0 :lereah_!~lereah@nanpc301.in2p3.fr JOIN :#esoteric < 1272893214 0 :Ilari!unknown@unknown.invalid PRIVMSG #esoteric :Assuming x <- x <- x encodes to 2 (and choosing operation enumeration order to be '+-<>,.'), i get that enumeration of ",[.[-],]" is 144 877 580... < 1272894442 0 :nooga!~nooga@86-63-114-188.sta.asta-net.com.pl JOIN :#esoteric < 1272894472 0 :nooga!unknown@unknown.invalid PRIVMSG #esoteric :hey < 1272895421 0 :nooga!unknown@unknown.invalid PRIVMSG #esoteric :who was norwegian? < 1272895456 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :oerjan, at least. < 1272895460 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :He just left an hour ago. < 1272895468 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Or maybe "an hour" is not "just". < 1272895521 0 :nooga!unknown@unknown.invalid PRIVMSG #esoteric :heh < 1272895531 0 :nooga!unknown@unknown.invalid PRIVMSG #esoteric :maybe he's sleeping < 1272895598 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :I'm sure you can find some Norwegians in a shop or something. < 1272895872 0 :nooga!unknown@unknown.invalid PRIVMSG #esoteric :right < 1272896139 0 :nooga!unknown@unknown.invalid PRIVMSG #esoteric :Norwegians in Poland, in a shop < 1272896146 0 :nooga!unknown@unknown.invalid PRIVMSG #esoteric :-,- < 1272896259 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Well, maybe a local people-store can order them in? < 1272896336 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :I think they don't have those < 1272896454 0 :augur!unknown@unknown.invalid PRIVMSG #esoteric :i am reminded why Java is a horrible programming language < 1272896562 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: Slave markets or some-such. < 1272896563 0 :hiato!unknown@unknown.invalid QUIT :Quit: underflow < 1272896677 0 :nooga!unknown@unknown.invalid PRIVMSG #esoteric :augur, amen < 1272896696 0 :augur!unknown@unknown.invalid PRIVMSG #esoteric :javanauts are a bunch of douches, basically. < 1272896705 0 :nooga!unknown@unknown.invalid PRIVMSG #esoteric :JAVANAUTS OMFG\ < 1272896725 0 :nooga!unknown@unknown.invalid PRIVMSG #esoteric :o\ < 1272896746 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Nautical Java, for ship automation. < 1272896762 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :What did Java do now that was so awful? < 1272896824 0 :Ilari!unknown@unknown.invalid PRIVMSG #esoteric :0 -> '', 1 -> '[]', 2 -> '+', 3 -> '+[]', 4 -> '- < 1272896826 0 :Ilari!unknown@unknown.invalid PRIVMSG #esoteric :' < 1272897016 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Ilari: I think you're going to have to give us a bit more detail on how exactly that goes. < 1272897108 0 :Ilari!unknown@unknown.invalid PRIVMSG #esoteric :I still need to figure out a way to enumerate non-empty ordered trees (so far the numbers are based on assumptions on that enumeration)... < 1272897148 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Yes, but as a sneak-preview you could let us know how it goes, assuming you can enumerate those gaplessly and efficiently. < 1272897352 0 :alise!~alise@212.183.140.51 JOIN :#esoteric < 1272897363 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :<pikhq> alise__: You sleep? < 1272897363 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :<pikhq> Only... Midnight there. < 1272897363 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric : < 1272897364 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :didn't sleep night past < 1272897375 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :s/all that colour junk (if you got it) and the blank line//g < 1272897415 0 :augur!unknown@unknown.invalid QUIT :Remote host closed the connection < 1272897428 0 :augur!~augur@216-164-33-76.c3-0.slvr-ubr1.lnh-slvr.md.cable.rcn.com JOIN :#esoteric < 1272897674 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric : well, he *could* run DOSEMU and any DOS-based tool there (including ndisasm) <-- there is an issue here, why DOS at all. Also it seems likely that most DOS based tools are older than x86_64 with SSE4.1 (this code turned out to contain such instructions) < 1272897730 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :btw, I wonder if it would be feasible to make an x86 program that were valid even when you remove the first byte, (and not making the first byte a nop or other such trivial variants) < 1272897769 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :basically it would mean that both the program and a not-whole-instruction offset should be valid < 1272897818 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :presumably would be easy for small programs, but preferably this should be some non-trivial thing that does something that isn't complete nonsense < 1272897873 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :DOS for QBasic. < 1272897882 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :(and preferably it shouldn't just branch to different, unshared, parts of the code right away) < 1272897884 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :alise, hm? < 1272897890 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :I was using DOS for QBasic. < 1272897896 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :Or was that another DOS conversation? < 1272897960 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :01:19:10 Grrr... < 1272897961 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :01:19:43 I tried alise's bijector and now it seems to have taken all of the hard disc space. < 1272897961 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :01:20:01 For "[[[]]]"! < 1272897963 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :Yes. < 1272897966 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :alise, the thing rugxulo said? It was right in the context of quoting me on disassembling a file that wasn't in ELF or any other format (just "raw" instructions) < 1272897968 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :01:27:39 Perhaps I shouldhave pastebinned that. Oops. < 1272897969 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :it probably got cut off < 1272897979 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :01:58:12 alise's program isn't a proper bijection. < 1272897979 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :01:58:21 It encodes ++- and ++ the same. < 1272897984 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :I saw that, yes. < 1272897988 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :I will fix it, I think. < 1272897993 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :I am going to change the bijection. < 1272897996 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :alise, bijection to what? < 1272898005 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :Bifro. < 1272898011 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :doesn't ring a bell at all < 1272898067 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :google indicates it is a hair style(?), which seems quite improbably in this context < 1272898083 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :jane@jane-desktop:~/code$ echo '++' | ./bifro encode < 1272898084 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :10 < 1272898084 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :jane@jane-desktop:~/code$ echo '++-' | ./bifro encode < 1272898084 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :26 < 1272898085 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :fix'd < 1272898096 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: A program I wrote last night; it well-orders the set of valid brainfuck programs. < 1272898099 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ah < 1272898104 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :Which also means every valid BF program has a corresponding number. < 1272898108 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :It can give you the number, and decode any number. < 1272898110 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :alise, are they sparse? < 1272898121 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :Sparse howso? < 1272898133 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :The encoding is somewhat suboptimal: < 1272898135 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :jane@jane-desktop:~/code$ echo '[]' | ./bifro encode < 1272898136 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :alise, as in, not all numbers are mapped < 1272898136 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :64 < 1272898136 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :jane@jane-desktop:~/code$ echo '[[]]' | ./bifro encode < 1272898136 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :1180591620717411303424 < 1272898141 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :right < 1272898142 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :and [[[]]] I don't think is calculable in this universe < 1272898144 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: all numbers are mapped < 1272898147 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :that's basically the entire point < 1272898151 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :otherwise it's "quite easy" < 1272898158 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :alise, yep, ascii code < 1272898162 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :as a bignum < 1272898163 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :well, no < 1272898164 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :that doesn't handle [] < 1272898171 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :which is the other "difficult" part < 1272898174 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :as in < 1272898175 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :you can have [ < 1272898176 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :and ] < 1272898177 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :unmatched < 1272898184 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :all I have to do is fix my NxN -> N bijection, anyway, and the numbers will be more reasonable < 1272898189 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :alise, true, but those are not in the domain the function is defined in < 1272898194 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :but, I don't think oerjan has given me the inverse algorithm either :-) < 1272898197 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :(problem solved in a cheating kind of way) < 1272898199 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: Well, yes, true. < 1272898208 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :jane@jane-desktop:~/code$ echo ',[.,]' | ./bifro encode < 1272898209 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :1581267603963364205878869896241541461324661326282360299663291859589299527874963647593440497667477535118649045814975093057732880760826511538023542187037019608761854877160674698159897716735103252665935684988068320848140683464255411707953932466009059033912578566502802887127604801681488301032705683661296923932091466727292944 < 1272898221 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :This mess is caused because < 1272898222 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :biTo :: (Integer, Integer) -> Integer < 1272898222 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :biTo (u,v) = ((2^u) * ((2*v) + 1)) - 1 < 1272898226 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :so obviously u gets very big < 1272898226 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :and < 1272898236 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :alise, it isn't like it is a continuous function anyway, it is only defined for the integers < 1272898240 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :we encode loops with 6 + their crushing (6 is the number of non-loop instructions) < 1272898247 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :(right?9 < 1272898248 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :so we have some 2^ magic in every element of the loop < 1272898249 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :and get a huge number < 1272898250 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :THEN < 1272898254 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :s/9/)/ < 1272898257 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :we do 2^huge < 1272898258 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :"ouch" < 1272898263 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: naturals :P < 1272898267 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :alise, right < 1272898273 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :alise, what is the bf program 195722? < 1272898289 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :With the new fixed encoding that nobody else has seen before? < 1272898295 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :well, either < 1272898306 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :Well, the previous one is broken because it encodes ++ and ++- the same. < 1272898310 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :right < 1272898313 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :and the with the new one? < 1272898317 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :This one is broken because it's too huge but I need oerjan or someone to give me the inverse function first :P < 1272898321 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :$ echo 195722 | ./bifro decode < 1272898322 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :++><-----+ < 1272898327 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :heh nice < 1272898331 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :Loops are very rare; to understand why, consider that they take the form of 2^huge. < 1272898342 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :And even adding one instruction to a loop makes it unimaginably bigger. < 1272898356 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ah < 1272898371 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :alise, so [-] is? < 1272898373 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :To wit, consider the two progams ,[.,] and ,[.,,] < 1272898383 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :ACTION pasties < 1272898389 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ouch that bad... < 1272898392 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :[-] is 128, nicely enough < 1272898397 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: http://pastie.org/943535.txt?key=wyaxhf87u5uvgzblwuxa < 1272898408 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :alise, tell me what lostking is in this. I mean, number of digits in it < 1272898412 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :rather than the whole thing < 1272898424 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: Calculating the log would be very hard, the expression would be very big < 1272898433 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :alise, true < 1272898441 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :Considering even very small programs probably cannot fit into the universe and I run out of 2GB on even very very trivial programs, < 1272898446 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :I doubt it is feasible. < 1272898456 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :Anyway, with the triangular NxN -> N bijection it should be okay. < 1272898465 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :But I need to figure out (a) a canonical formula for it; and (b) its inverse. < 1272898466 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :alise, what sort of programs use more than 2GB? < 1272898470 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :I mean, how trivial < 1272898498 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :Let's see. < 1272898510 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :$ echo ',[>>>>>.]+[<<<<<<<<<<]' | ./bifro encode < 1272898513 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :I am pretty sure this will run out of memory. < 1272898515 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :Not certain, though. < 1272898522 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :I know that a <1kb rot13 did it. < 1272898526 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :alise: There in the logs is one oerjan-guess for how you can derive the inverse, assuming you can do sqrt on your bignums. < 1272898529 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :Oh, you want an EASY one? < 1272898534 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :alise, what about nested loops? lets take something trivial [[-]-] or such < 1272898539 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :Certainly. Second. < 1272898543 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: yes, that's what i'm saying < 1272898545 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :it grows very quickly < 1272898573 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :alise, yes, but what order of size is something like [[-]-]. ,I would guess it is still pastebinable < 1272898574 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :$ echo '[[-]-]' | ./bifro encode < 1272898575 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :2521728396569246669585858566409191283525103313309788586748690777871726193375821479130513040312634601011624191379636224 < 1272898575 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :Disadvantage; - is the lowest. < 1272898578 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ah < 1272898583 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :Not much more at all than that. < 1272898587 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :right, still quite large < 1272898589 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :echo '[[[-]-]-]' | ./bifro encode < 1272898589 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :hands < 1272898591 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :*hangs < 1272898593 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ouch < 1272898594 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: Do you want the code? < 1272898602 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :It has a proper CLI to use it and everything < 1272898606 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :Well, I don't know that it hangs forever < 1272898608 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :alise, not really, it isn't a very useful bijection ;) < 1272898617 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :Hey, as long as you avoid nested loops... < 1272898623 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :http://pastie.org/942869.txt?key=vvwlyvvpwhxulduzur3q, anyway, one patch to make: < 1272898629 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :alise, well, ',[>>>>>.]+[<<<<<<<<<<]' isn't nested < 1272898630 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :crush (x:xs) = biTo (x, crush xs) < 1272898631 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :becomes < 1272898634 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :crush (x:xs) = biTo (x, crush xs) + 1 < 1272898635 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :and < 1272898637 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :decrush n = let (x,xsn) = biFro n in x : decrush xsn < 1272898637 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :becomes < 1272898638 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :two loops sure, but not nested < 1272898640 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :decrush n = let (x,xsn) = biFro (n-1) in x : decrush xsn < 1272898656 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :,[>>>>>.]+[<<<<<<<<<<] -- running now < 1272898692 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :Amusingly, decoding is very quick and encoding is very slow, even though the decoding iterates /2 on a number until it does not divide two any more, and the encoder is O(1) for a single instruction! < 1272898724 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :hah < 1272898738 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :alise, aren't most things O(1) for a single input operand < 1272898749 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :biTo :: (Integer, Integer) -> Integer < 1272898750 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :biTo (u,v) = ((2^u) * ((2*v) + 1)) - 1 < 1272898750 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :but < 1272898750 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :well, assuming you measure in the right way < 1272898754 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :biFro :: Integer -> (Integer,Integer) < 1272898755 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :biFro n = (m, (((n `div` (2^m)) - 1) `div` 2) + 1) < 1272898755 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric : where n' = n + 1 < 1272898755 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric : m = toInteger . length . takeWhile (\n'' -> mod n'' 2 == 0) $ iterate (`div` 2) n' < 1272898755 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :you decide < 1272898757 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :the m is basically < 1272898788 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :m = 0; while n' % 2 == 0 { m += 1; n' = n' div 2 } < 1272898805 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :alise, I might be more interested when you come up with a mapping that gives "usable" results. With that I mean that lostkng should be possible to encode on something in this universe. Preferably something that isn't a super computer too ;) < 1272898839 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :02:57:15 and didn't you see the big whining about how Jobs claims even Theora is going to be attacked over patents? < 1272898846 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :no, he claimed apple themselves are going after theora, iirc < 1272898856 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: LostKng - forget it, I imagine. < 1272898863 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :rot13? quines? sure. < 1272898875 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: One very interesting thing to do is to come up with an encoding-quine. < 1272898899 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :alise, hm? < 1272898905 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :Make a program P such that P calculates (and preferably outputs) N, and number(P) = N. < 1272898911 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ah < 1272898916 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :Like a name tag! < 1272898918 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :A name tag for itself. < 1272898931 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :alise, does such a program even exist? < 1272898942 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :By the fixed-point theorem, yes. < 1272898947 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :(The same theorem that guarantees that quines exist.) < 1272898962 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :Proof that such a program exists: < 1272898965 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :number(P) is certainly a computable function; therefore Brainfuck can compute it. < 1272898971 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :Fixed-point theorem; Q.E.D. < 1272899011 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :03:00:06 dumb question, but why not use FreeBASIC instead? < 1272899018 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :No peeking 'n poking madness; no nostalgia; no good-ole-days-feeling. < 1272899036 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :03:00:42 Rugxulo: Who knows why alise does anything? < 1272899037 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :03:00:57 It is an enigma wrapped in old newspapers, and smells of fish. < 1272899039 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :The answer is "fish and chips" < 1272899042 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :"Old fish and chips" < 1272899189 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :hm < 1272899193 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :03:16:56 * Rugxulo wonders why such a violently DOS-hating crowd would use QBASIC < 1272899198 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :DOS is an interesting toy. < 1272899210 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :It is well-architecture for running programs in a simple language with full hardware access. < 1272899216 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :And compiling them (with QuickBasic). < 1272899218 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :No more, however. < 1272899225 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :no more? < 1272899267 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :Yes; for things like basic office applications it works but it badly architectured. < 1272899269 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :I guess games, it's good for, too. < 1272899272 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :But that's it. < 1272899276 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :*but is badly < 1272899282 0 :BeholdMyGlory!~behold@unaffiliated/beholdmyglory JOIN :#esoteric < 1272899291 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :alise, idea: DOS C compiler + some asm routines, called peek and poke < 1272899301 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :lol. < 1272899303 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :basic ftw < 1272899320 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :sure, but you have to admit that basic has it's downsides (so do C but meh) < 1272899321 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :it's even an advanced editor, factors procedures out into a menu and doesn't show them in the main program source (imagine it is called "main" and it all makes sense!) < 1272899335 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :QuickBasic doesn't have all that many disadvantages for DOS. < 1272899349 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :It's fast, it compiles proper programs, and it's a fucking awesome language for peeking and poking and whatnot. < 1272899354 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :alise, and 640 kB is enough for everyone? < 1272899364 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :Hey, I'm explicitly meaning FOR TINKERING here. < 1272899377 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :right, but sometimes you want to tinker with hundred of MB < 1272899384 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :or is that no longer tinkering then? < 1272899436 0 :Ilari!unknown@unknown.invalid PRIVMSG #esoteric :alise: '[[[[[[[[]]]]]]]]' is totally out of reach, right? < 1272899450 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: On x86-32, the bytes "05 00 00 00 00" are "addl 0, %eax", while "66 05 00 00 00 00" are "addw 0, %ax; addb %al, (%eax)". If you can make sure %eax points to something sensible and the lowest byte is nonzero, you can determine which variant was executed based on whether the byte at %eax was changed or not. < 1272899452 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: Since the only thing that can possibly be different is that first instruction, I don't think you can get much more of an effect than that; then it's up to you how to make the code do different stuff, by branching or by some less-cheaty means. < 1272899453 0 :nooga!unknown@unknown.invalid PRIVMSG #esoteric :beh < 1272899472 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :Ilari: Yes. It blows up loops and it blows up instructions even more. < 1272899480 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :Ilari: No fear; it'll be triangularised soon. < 1272899495 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :fizzie, couldn't you get instructions that end in different places too < 1272899542 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :03:40:48 it needs a square root, essentially < 1272899547 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :Won't floor(sqrt(n)) do? < 1272899554 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :fizzie, of course, once they end in the same place they will be merged, no way around it < 1272899614 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :(at least unless there is some strange flag you can set which might cause it to work out as different things) < 1272899617 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :AnMaster: I have a feeling that sort of stuff tends to get synchronized sooner or later. At least in my experience, even if you start a disassembly at a random spot, they tend to converge pretty fast. But yes, maybe if you're really really careful about selecting the instructions. < 1272899641 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :hm < 1272899646 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Any flag will cause the corresponding conditional branch/set/such do different things, but maybe that doesn't again count. :p < 1272899674 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :fizzie, indeed doesn't. I was more thinking about x86 vs. x86_64, where iirc INC → REX prefix and such things < 1272899706 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :I think they either threw away or reused some of the BCD instructions too < 1272899721 0 :Ilari!unknown@unknown.invalid PRIVMSG #esoteric :Program starting with 'EB EB EA'. Jumps to offset 0xED from start even with first byte removed... < 1272899746 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Ilari, EB? < 1272899760 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :I don't have a reverse lookup table handy < 1272899763 0 :Ilari!unknown@unknown.invalid PRIVMSG #esoteric :JMP SHORT imm8 < 1272899767 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ah < 1272899781 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Ilari, and with first byte removed? < 1272899798 0 :Ilari!unknown@unknown.invalid PRIVMSG #esoteric :Oops 'EB EB EB'. < 1272899802 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :http://ref.x86asm.net/coder.html is sorted by opcode if you need it. < 1272899805 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :ah thought so < 1272899817 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :And anyway, it was supposed to do a different thing when the first byte removed, not the same. :p < 1272899836 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :indeed what fizzie said < 1272899848 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :also it doesn't need to be exactly 1 byte < 1272899870 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :but some small whole-byte offset (less than the size of the first instruction) < 1272899874 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :05:26:54 Assuming x <- x <- x encodes to 2 (and choosing operation enumeration order to be '+-<>,.'), i get that enumeration of ",[.[-],]" is 144 877 580... < 1272899879 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :but does it have a program for each nat? < 1272899952 0 :Ilari!unknown@unknown.invalid PRIVMSG #esoteric :That 144 877 580 is likely wrong... And each nat is guarenteed to map to some program. And I don't think any two map to same program. I don't have finalized ordered tree to nat mapping. < 1272899978 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :ya'll crazy bitches < 1272900029 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Ilari: You also haven't told us how you map to ordered trees, so we can't look for bugs in that. :p < 1272900189 0 :Ilari!unknown@unknown.invalid PRIVMSG #esoteric :Recomputed, and got 144 744 582 this time... < 1272900195 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :It's nondeterministic! < 1272900200 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :Ilari, and if you recompute again? < 1272900203 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :I can see how the structure gives the shape of the tree, but it's not immediately clear how you deal with what instructions are where. < 1272900205 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :alise, damn, beat me to it < 1272900213 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :AWESOME < 1272900221 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :Does it actually depend on the phase of the moon's minute changes? < 1272900253 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :The moon-men's minutes are a lot shorter than our human minutes. < 1272900261 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :Oh, Milner died! Sad. < 1272900325 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :data Nested a = Nil | Cons a (Nested a) | Nest (Nested a) (Nested a) < 1272900326 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :data Ref a = Val a | Ref Int < 1272900326 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :deblimp :: Nested a -> [[Ref a]] < 1272900335 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :I'mma finally getting down to the theory of deblimpification < 1272900527 0 :fax!~none@unaffiliated/fax JOIN :#esoteric < 1272900531 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :hey alise how come you are here < 1272900545 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :what < 1272900579 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :"Who told you you can be here, huh?!" < 1272900582 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :heh I hate deblimping it's basically all one big corner case. < 1272900582 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :monday < 1272900587 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :day off < 1272900589 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :bank holiday < 1272900591 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :\m/ < 1272900612 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :You Britons and your made-up holidays. < 1272900618 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :banks need holidays too!! < 1272900700 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :actually grr this is irritating. < 1272900700 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :We've got May 1st as a holiday, but this year it was on Saturday. < 1272900708 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :like seriously. < 1272900745 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :fizzie: whenever that happens to us we end up with a ridiculously-titled "holiday in place of [what we missed]" day < 1272900750 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :or whatever it is called. < 1272900766 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :How uncommonly fair of you. < 1272900769 0 :Ilari!unknown@unknown.invalid PRIVMSG #esoteric :I get that 144 877 580 decodes to '.[++[-].]'. I computed segment nats for ',' and '.' wrong. < 1272900788 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :fizzie: yes we brits are wonderful people. < 1272900854 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Around here, whenever we miss a holiday because it lands on a weekend, we get a "sucks to be you" day, which is otherwise just like a regular workday, only worse in that you're annoyed because you've just missed a holiday earlier. < 1272900856 0 :nooga!unknown@unknown.invalid PRIVMSG #esoteric :we've got may 1st and 3rd < 1272900914 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :fizzie: how finnish < 1272900915 0 :nooga!unknown@unknown.invalid PRIVMSG #esoteric :alise: then explain 2 taps < 1272900925 0 :nooga!unknown@unknown.invalid PRIVMSG #esoteric :and windows that open TO THE OUTSIDE < 1272900933 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :Wait, you guys DON'T have 2 taps? < 1272900937 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :...Why not? < 1272900945 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :And why on earth would you want a window opening INTO your room? < 1272900954 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :alise, your data type can be expressed as the fixed point, X[a] = a + X[a] + X[a]*X[a] ? < 1272900964 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :yes it can < 1272900965 0 :nooga!unknown@unknown.invalid PRIVMSG #esoteric :you can clean the window < 1272900973 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :nooga: from the inside? < 1272900974 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :why < 1272900976 0 :nooga!unknown@unknown.invalid PRIVMSG #esoteric :without leaving the room < 1272900986 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :this gives you a way to subdivide the isomorphism problem < 1272900988 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :windows don't exactly get all that dirty to need urgent cleaning so often that going outside is a pain. < 1272901001 0 :nooga!unknown@unknown.invalid PRIVMSG #esoteric :how about 2 taps < 1272901008 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :fax: wut :P < 1272901018 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :basically I'm trying to theoreticise my underload compiler's main bit < 1272901020 0 :nooga!unknown@unknown.invalid PRIVMSG #esoteric :how am i supposed to wash a plate in boiling OR icy water < 1272901026 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :Underload has functions like (a(b(c))) < 1272901031 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :and we need to make these into cross-referencing functions < 1272901033 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :so this becomes < 1272901041 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :[ (a1) (b2) (c) ] < 1272901049 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :((a)(bc)(d(e)f))g becomes < 1272901069 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :[ (1g) (234) (a) (bc) (d5f) (e) ] < 1272901114 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :for a long time we weren't really sure an underload compiler was possible - < 1272901122 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :this trick, + the "function data structure" made it possible < 1272901158 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :(function data structure = if you did (a)(b)* i.e. append b to a, then this got stored with the function pointers to a and b's code, as a cons list of sorts) < 1272901166 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :(same for (x)a -> ((x)), etc) < 1272901177 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :fax: so now I'm trying to writ out that blimp algorithm < 1272901180 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :which flattens the list < 1272901186 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :each number-pointer is a "blimp" < 1272901193 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :which means my function should be called blimp < 1272901195 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :not deblimp... < 1272901211 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :or, wait, no < 1272901217 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :each little () is a blimp < 1272901218 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :w/e < 1272901220 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :fax: you get the idea < 1272901315 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :what < 1272901328 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :sorry I totally don't know anything probably best just leave me < 1272901346 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :fax: wut < 1272901350 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :what didn't you get :( < 1272901411 0 :Phantom_Hoover!~Phantom_H@cpc5-sgyl29-2-0-cust220.sgyl.cable.virginmedia.com JOIN :#esoteric < 1272901439 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :alise: Did you fix your Haskell program? < 1272901447 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :Phantom_Hoover: yes; but did not triangularise it. < 1272901456 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :it is easy to fix < 1272901458 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :Can I see the fixed version? < 1272901458 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :s/ $// < 1272901466 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :will a patch do? only two changes < 1272901488 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :Change the two lines almost identical to these to the ones shown here: < 1272901489 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :crush (x:xs) = biTo (x, crush xs) + 1 < 1272901491 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :decrush n = let (x,xsn) = biFro (n-1) in x : decrush xsn < 1272901502 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :Then recompile (ghc -O2 --make bifro.hs -o bifro) < 1272901515 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :Wait, did you fix the problem in the algorithm that caused it to return the same number for ++- and ++? < 1272901522 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :Yes; that is that fix. < 1272901544 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :Of course, since this ends up doing 2^(1+stuff) in for loops instead of just 2^stuff, everything is even more ginormous. :-) < 1272901583 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :1, 3, 7, 15, 31, 63, 127 -- result of - | -- | --- | etc < 1272901585 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :For heaven's sake, does no-one have an algorithm for the inverse of the triangular bijection? < 1272901591 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :looks like odd numbers at first :-) < 1272901599 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :Phantom_Hoover: yes, almost < 1272901614 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :04:50:22 Phantom_Hoover: back to the bijection; i think multiplying by 2 and then taking square root gives either the floor of u+v or 1 more than it - i don't see a way to get either directly so there needs to be a postcheck for which one is right < 1272901616 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :04:50:50 And how do we derive u and v from u+v? < 1272901616 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :04:51:15 well we start with n = triang(u+v)+u < 1272901616 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :04:51:25 Yep. < 1272901616 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :04:51:30 so once we have u+v, u = n-triang(u+v) < 1272901617 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :04:51:40 Oh. < 1272901618 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :04:51:40 and then v = (u+v)-u < 1272901624 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :just a matter of coding this up < 1272901630 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :now the question is, how do we do the post-check accurately? < 1272901637 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :By hand! < 1272901679 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :what, for every single program :) < 1272901685 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :oh, I know < 1272901687 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :it is easy to check < 1272901690 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :x^2 == right < 1272901692 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :(x+1)^2 == right < 1272901698 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :but this is wrong < 1272901705 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :because x^2 won't be precisely the answer we need, will it < 1272901711 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :like, we can't check that way < 1272901714 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :we really need oerjan to help us here < 1272901742 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :Wait, so f(u, v) = (u+v)(u+v+1)/2+u? < 1272901794 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :triang(u+v)+u where triang n = n*(n+1)`div`2 < 1272901803 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :Yes. < 1272901814 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :so ((u+v)*(u+v+1) `div` 2) + u < 1272901819 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :so (((u+v)*(u+v+1)) `div` 2) + u < 1272901826 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :We /will/ use precise parenthesisation! < 1272901837 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :"plus or minus any off-by-one errors"; says oerjan < 1272901890 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :How can the numbers get so big for simple programs?! Every number maps to a valid program! < 1272901902 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :loops < 1272901908 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :[0,1,3,6,10,15,21,28,36,45,55] < 1272901909 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :[2,4,7,11,16,22,29,37,46,56,67] < 1272901909 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :[5,8,12,17,23,30,38,47,57,68,80] < 1272901909 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :[9,13,18,24,31,39,48,58,69,81,94] < 1272901909 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :[14,19,25,32,40,49,59,70,82,95,109] < 1272901910 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :[20,26,33,41,50,60,71,83,96,110,125] < 1272901911 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :[27,34,42,51,61,72,84,97,111,126,142] < 1272901913 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :[35,43,52,62,73,85,98,112,127,143,160] < 1272901915 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :[44,53,63,74,86,99,113,128,144,161,179] < 1272901917 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :[54,64,75,87,100,114,129,145,162,180,199] < 1272901919 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :[65,76,88,101,115,130,146,163,181,200,220] < 1272901920 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :Yes... < 1272901921 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :here horizontal = increase second argument < 1272901923 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :vertical = increase first argument < 1272901925 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :that's the triangular < 1272901929 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :which exhibits quite good growth I think < 1272901932 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :I will plug it into my program < 1272901935 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :without fixing the other way around < 1272901990 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :*Main> crush (fst (parse ",[.,]")) < 1272901991 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :312012695 < 1272901992 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :much better < 1272902006 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :Reversibility! < 1272902010 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :*Main> crush (fst (parse "[[[[[]]]]]")) < 1272902010 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :213154541901809831953 < 1272902015 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :Phantom_Hoover: It can't be reversed /yet/. < 1272902022 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :I need to ask oerjan about the sqrt stuff first. < 1272902025 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :But wow, those are good results! < 1272902031 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :Wait. < 1272902067 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :UNFORTUNATELY < 1272902070 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :hello world is still huge < 1272902074 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :[3,1,1,1,1,1,1,1,1,1,5354164073076684878196228396564020578803679189102849778525663731938902525444515224420427138133134637920836890782453088665839948145820092076713415549434307727405966835227032540083505526997209611299464854680212856949448028235011323804396384569956482164446390459797750748251474085517169113816957984439650500125963237364050624907522513416960323815412898338127406868607518044494986367473299784801918842103825814040773826020133025992246889415795 < 1272902075 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :35777677808436141814,2,5,3,1,1,1,1,1,1,1,89693062033816922605205825944,2,1,5,1,1,1,1,1,1,1,5,5,1,1,1,5,3,3,3,1,1,1,1,1,1,1,1,89693062033816922605205825944,2,5,3,3,3,1,1,1,1,1,1,1,1,1,1,14333536460712558084283567410257460820133224763596344172314303799578193610093108205094456521650228199838472126415141884581995334932340129379148477559707459959545576999778527755763656033545930008690570401539469908519542923093293866773152151477794528497181690063188383395045995 < 1272902075 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :1557447373818212334868702619287904919346690680502733198242627295679574194061355035703752923594385067469018029706561653941015792877680406733587246784406411632470943569135223195170725555329691921703375500895996752850629092483314008449940432238690371512189308188659696451544516606747397349661314807321205718172628988242893865139529255491147596410168400964451760816675236538504914109773983094253795888709666794010571089587049752395012003064486642816360910937797056 < 1272902081 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :693740451617167478378383875365441979920592376562008886469597656791896708701802207527665390314320715361945598862239045424492744590207542409271756177422324294118894451516811455159755859,2,0,0,0,5,2,2,2,2,5,1,1,1,5,0,0,0,0,0,0,5,0,0,0,0,0,0,0,0,5,3,3,1,5] < 1272902084 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :and that's just the list < 1272902087 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :we need to crush it after that < 1272902091 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric ::O < 1272902098 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :SO I PROPOSE that one, or both, of these things are true: < 1272902110 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :(1) Our list-crushing is crappy, and could be made better. < 1272902117 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :Unlikely. < 1272902121 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :(b) Our representing-loops-as-crushed-lists-at-the-start is crappy, and could be made better. < 1272902128 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :Yes, 1 and b. < 1272902133 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :I think (b) is more likely than (1). < 1272902148 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :Phantom_Hoover: I dunno man < 1272902150 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :But then we need to imply an encoding in the list... < 1272902152 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :crush (x:xs) = biTo (x, crush xs) + 1 < 1272902152 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :3 < 1272902153 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :er < 1272902155 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :drop that 3 < 1272902158 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :I think maybe cons-cell is wrong here < 1272902162 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :Maybe we could get it more efficient < 1272902165 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :One issue is < 1272902168 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :the +1s add up < 1272902172 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :the crush xs in the second biTo < 1272902174 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :is +1+1+1+1 a lot < 1272902177 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :depending on nesting < 1272902180 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric : How can the numbers get so big for simple programs?! Every number maps to a valid program! <-- a) lots of possible programs b) define "simple" c) maybe some complex programs have a really simple number? < 1272902180 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :Phantom_Hoover: that's the issue :( < 1272902190 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :(c) is very false < 1272902190 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :and yes loops < 1272902192 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :trivially can be checked < 1272902207 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :alise, well, depends on how you define complex. < 1272902222 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :Non-retardedly. < 1272902223 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :in number of bytes? in terms of loops? < 1272902226 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :alise, true < 1272902273 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :alise, a nice bijection would be if you ended up with unpredictable number. < 1272902274 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :alise: What about the idea you had before crushing loops? < 1272902286 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :crush [-5] == crush 2; interesting to see the behaviour for (not-meant-to-work) negative arguments. < 1272902287 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :not sure how feasible it is < 1272902301 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :Phantom_Hoover: You mean put a nop instruction to signify []? < 1272902308 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :Yes, that would mean that all loops are additions, rather than crazies. < 1272902312 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :][, actually, but yeah. < 1272902314 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :The translation would be harder, though :-) < 1272902316 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :Yeah, ][. < 1272902325 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :[] would be nop+N < 1272902330 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :[][] would be nop+N, nop, nop+N < 1272902358 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :ACTION loads bifroexp.hs, and experiments < 1272902399 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :Phantom_Hoover: Of course this means I need my own nested list structure, bleh. < 1272902400 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :But okay. < 1272902419 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :Just keep adding 6? < 1272902429 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :Oh wait I do not require that < 1272902430 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :I am happy now < 1272902436 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :Happy like a bee < 1272902450 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :Wait, what does ++++++ correspond to? < 1272902465 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :If noop is an instruction, it ruins the bijection. < 1272902471 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :sup < 1272902472 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :ugh; you are correct. < 1272902482 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :Unless it is kept only inside loops. < 1272902484 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :Phantom_Hoover: we could map it to +++X+++, because X is technically a "valid" bf instruction < 1272902486 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :(but that is cheating) < 1272902489 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :I think that's possible. < 1272902494 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :and it would always be just after a loop, or just at the start/end of a loop < 1272902496 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :like [x]nop < 1272902497 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :or [nop] < 1272902504 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :or even [nop]nop[nop] < 1272902507 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :for [][] < 1272902510 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :Make the instruction set only include nop when we're in a loop? < 1272902514 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :whats the point in turning programs into numbers? < 1272902538 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :fax: If you need to ask the point, you haven't gotten it. < 1272902547 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :There *is* no point. < 1272902548 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :Phantom_Hoover: go listen to jazz < 1272902549 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :We have nops outside of loops < 1272902554 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :[] -> nop < 1272902557 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :aha < 1272902558 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :!! < 1272902559 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :no wait < 1272902560 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :[] -> nop+N < 1272902567 0 :Tritonio_GR!unknown@unknown.invalid QUIT :Read error: Connection reset by peer < 1272902569 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :[][] -> nop+N, nop, nop+N < 1272902570 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :N being the nesting? < 1272902574 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :[x][y] -> x+N, nop, y+N < 1272902577 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :yeah < 1272902594 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :And nop+N, nop+N? < 1272902625 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :[nopnop] < 1272902631 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :which is, basically, the issue. < 1272902636 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :nop+N, nop+N = [] < 1272902648 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :we /could/ have tons of restrictions, but writing the bijection would be /very hard/ < 1272902770 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :nop+N, nop+N = [][]? < 1272902787 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :Ugh, this is horrible. < 1272902790 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :no < 1272902793 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :nop+N, nop+N = [] < 1272902796 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :nop+N, nop, nop+N = [][] < 1272902801 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :it is < 1272902896 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :How about changing the instruction set once we're in a loop, so that it's '-'..'.' in the base level and '-'..'.'+nop once N is greater than 0, then changing the increment of N accordingly. < 1272902902 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :It's ugly, admittedly. < 1272902946 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :because < 1272902949 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :like I have told you a million times < 1272902951 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :nop is valid outside < 1272902956 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :[x][y] = x+N, nop, y+N < 1272902963 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :Why does it have to be? < 1272902964 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :nop also works as an adjacent loop separator < 1272902971 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :because [x][y] = x+N, y+N = [xy] < 1272902973 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :does not work < 1272902977 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :That's what it always was. < 1272902990 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :then how the fuck do you encode [x][y] and [xy] differently what's why introduced nop in the first place < 1272902991 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :duh < 1272902993 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :hi < 1272903000 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :that's the whole issue < 1272903014 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :But make [x][y] x+N, nop+N, y! < 1272903021 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :s/y/y+N/ < 1272903024 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :what?! < 1272903028 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :that makes no sense whatsoever! < 1272903028 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :Ugh. < 1272903031 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :like, at all < 1272903035 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :I suck at explaining... < 1272903036 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :it's semantic junk < 1272903057 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :I'll try to explain it to myself, first. < 1272903059 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :i mean i get it < 1272903064 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :i just think it's a really silly idea < 1272903066 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :and doesn't help at all < 1272903071 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :because allowing nop in a loop anywhere < 1272903085 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :then nop+N,nop+N,nop+N = [] or [][] < 1272903166 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :alise be my friend < 1272903171 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :ok < 1272903199 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :hey oerjan log-reading < 1272903201 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :istriangular:=proc(n) local t1; t1:=floor(sqrt(2*n)); if n = t1*(t1+1)/2 then RETURN(true) else RETURN(false); fi; end; (N. J. A. Sloane, May 25 2008) < 1272903205 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :we need a bijectin to all nats yo < 1272903209 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :*bijection < 1272903210 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :s/ $// < 1272903212 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :or does the +u fix that < 1272903216 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :or w/e < 1272903230 0 :augur!unknown@unknown.invalid QUIT :Remote host closed the connection < 1272903296 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :T(n) = nC2 < 1272903329 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :http://upload.wikimedia.org/wikipedia/commons/f/f6/Pascal%27s_triangle_5.svg < 1272903330 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :coo. < 1272903345 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :so T(u+v)+u = (u+v)C2 + u :P. < 1272903399 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :do you know an efficient way to invert that < 1272903402 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :(I don't) < 1272903412 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :http://upload.wikimedia.org/math/f/d/8/fd8253a78f5f19c216b74278cd847bfc.png < 1272903421 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :04:50:22 Phantom_Hoover: back to the bijection; i think multiplying by 2 and then taking square root gives either the floor of u+v or 1 more than it - i don't see a way to get either directly so there needs to be a postcheck for which one is right < 1272903421 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :04:50:50 And how do we derive u and v from u+v? < 1272903421 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :04:51:15 well we start with n = triang(u+v)+u < 1272903421 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :04:51:25 Yep. < 1272903422 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :04:51:30 so once we have u+v, u = n-triang(u+v) < 1272903422 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :that n^_k_ is from finite calucus < 1272903423 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :04:51:40 Oh. < 1272903427 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :04:51:40 and then v = (u+v)-u < 1272903431 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :requires square root; so computing it requires checking the root is right and stuff < 1272903439 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :but, it's pretty computable < 1272903444 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :what about isqrt < 1272903450 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :I think oerjan planned on that < 1272903451 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :not sure though < 1272903458 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :04:52:20 Any progress on the sqrt? < 1272903458 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :04:52:35 that haskell link should work fine enough? < 1272903459 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :04:52:53 (i was wrong about that recursion being a problem btw) < 1272903459 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :04:53:31 http://www.haskell.org/haskellwiki/Generic_number_type#squareRoot < 1272903462 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :it's a matter of checking; < 1272903471 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :is this floor(sqrt(x)) or sqrt(x)+1 < 1272903477 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :we need an algorithm to precisely do that < 1272903565 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :alise: http://www.reddit.com/r/programming/comments/bzfwz/fellow_programmers_even_if_your_vision_is_solid/ < 1272903624 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :lol < 1272903632 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :i have like 20/300000000000000000000000000000004 :| < 1272903636 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :8) < 1272903658 0 :augur!~augur@216-164-33-76.c3-0.slvr-ubr1.lnh-slvr.md.cable.rcn.com JOIN :#esoteric < 1272903675 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :hi augur 8D < 1272903741 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :augur 8D; that's some versioning scheme < 1272903760 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :oh a good day augur can exceed 8D < 1272903766 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :on* < 1272903767 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :fax: anyway admire oerjan's lovely inversion < 1272903778 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :me too, i jut want to invert oerjan all day < 1272903781 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :it's totally elegant if you have an accurate floor(sqrt(x)) :P < 1272903783 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :O_O < 1272903792 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :okay :P < 1272903803 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :alise - the bijection that uses unique factorization is much more clever though < 1272903890 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :no wait < 1272903892 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :of course it is quite useless computationally because 2^k grows so fast < 1272903893 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :i think multiplying by 2 and then taking square root gives either the floor of u+v or 1 more than it - i don't see a way to get either directly so there needs to be a postcheck for which one is right < 1272903899 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :so how do we know whether it's u+v is the question < 1272903947 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :OK, have you solved the noop problem? < 1272903958 0 :augur!unknown@unknown.invalid QUIT :Ping timeout: 264 seconds < 1272904060 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :Phantom_Hoover: no. < 1272904113 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :BtW, I don't like the name noop. < 1272904117 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :It doesn't noop. < 1272904134 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :It separates lists, or is the empty list. < 1272904142 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :s/list/loop/ < 1272904154 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :but it does nothing :P < 1272904193 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :[]? Of course it does something! < 1272904208 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :so what's the story < 1272904243 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :Incidentally, how often is the phrase "You need a (life|girlfriend)" uttered here? < 1272904436 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :not often, because nobody here has one < 1272904439 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :[] does something < 1272904440 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :+[] hangs < 1272904445 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :but nopt itself < 1272904446 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :doesn't < 1272904447 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :*nop itself < 1272904452 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :it's the loop "around" it that does < 1272904463 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :It's not an instruction. It's just a syntactic marker. < 1272904494 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :ACTION uploads a pdf explaining our triangular dilemma < 1272904497 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :http://filebin.ca/ogtqw/bij.pdf < 1272904497 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :Why can't we have [][] as nop, nop? < 1272904507 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :Phantom_Hoover: what's [x][y] < 1272904511 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :hmm < 1272904519 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :I guess we could encode that as [x][][y] because it's equiv < 1272904520 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :but that's not 1:1. < 1272904525 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :anyway, read the pdf guyz. < 1272904533 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :x+N, nop+N, y+N? < 1272904572 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :that's [x][][y] < 1272904576 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :you fail at bijecting < 1272904577 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :try again < 1272904580 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :Umm... < 1272904582 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :because [x][][y] is a valid program too < 1272904589 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :and it's not the same~ (semantically yes, but syntactically no) < 1272904597 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :Phantom_Hoover: wait, no < 1272904600 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :that's [x[]y] < 1272904602 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :Wait, why can't nop mean different things? < 1272904603 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :because you said nop = [] < 1272904613 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :Based on context? < 1272904618 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :because you have to KNOW WHAT IT MEANS IN EACH CONTEXT; and be able to CONTROL which meaning it has at any time < 1272904625 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :because we have to /do all programs/, even equivalent ones, separately. < 1272904670 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :im listening to hungry eyes < 1272904711 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :How about one for ][ and one for []? < 1272904727 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :let's think about the more interesting bijection! :P < 1272904731 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :and less frustrating < 1272904735 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :http://filebin.ca/ogtqw/bij.pdf < 1272904742 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :I saw it! < 1272904751 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :alise: If you didn't get the triangular one in functions correctly yet, here's one version courtesy of computers; it's a bit unsimplified, but you can rectify that: http://pastebin.com/8zH1iNS9 < 1272904767 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :fizzie: Oh, so it figured out which will work? < 1272904780 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :(Mathematica does the table in a bit mirrored way, but other than that it seems to be working.) < 1272904780 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric : √ < 1272904780 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric : √ < 1272904780 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :Either ⌊ 2n ⌋ = u + v or ⌊ 2n − 1⌋ = u + v. So to implement ι(n), we need an accurate < 1272904780 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :algorithm to decide which to use, and calculate it, given only integers, rationals (without sqrt, I < 1272904780 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :think), and a pre-implemented sqrt for floating-point numbers. < 1272904783 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :urgh < 1272904786 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :either floor(sqrt(2n)) = u+v < 1272904789 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :or floor(sqrt(2n)-1) = u+v < 1272904806 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :fizzie: oh, you did not work out the inverse. < 1272904817 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :or, wait < 1272904819 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :is d the inverse? < 1272904823 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :alise: How so? u[x] and v[x] give the inverse for x = f[u, v]. < 1272904828 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :omg, it worked it out! < 1272904832 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :fizzie: I love you. < 1272904858 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :d[x] gives the index for how many'th diagonal x is from; that's what I asked it to Solve[] for me. u[x] and v[x] were written manually based on d[x]; those are simple when that is known. < 1272904862 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :d is crazy < 1272904865 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :⌊ 2n − 1⌋ < 1272904867 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :I like these brackets < 1272904871 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :so floor(sqrt(2n)) is not even close! < 1272904876 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :OK, so now we have the sane bijection we can work on the BF<->tuple of natural < 1272904881 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :fizzie: Wait wait < 1272904885 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :Ugh, didn't mean to press enter. < 1272904886 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :Does that work with integer sqrt? < 1272904891 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :i.e. normal integer sqrt < 1272904903 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :alise: Yes, I think so. I tried it with another Floor[] around the Sqrt[] itself. < 1272904920 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :and it gave the same results? < 1272904944 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Yes, unless I screw up something. < 1272904949 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :In[7]:= d[x_] := Floor[(Floor[Sqrt[8*x+1]]-1)/2] < 1272904949 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :In[8]:= {u[#], v[#]}& /@ {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15} < 1272904949 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Out[8]= {{0, 0}, {1, 0}, {0, 1}, {2, 0}, {1, 1}, {0, 2}, {3, 0}, {2, 1}, < 1272904949 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric : < 1272904949 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :> {1, 2}, {0, 3}, {4, 0}, {3, 1}, {2, 2}, {1, 3}, {0, 4}, {5, 0}} < 1272904954 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :lol mathematica < 1272904975 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :from(n) = (u, v) < 1272904977 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric : where m = (floor(sqrt(8*x+1)) - 1) `div` 2 < 1272904977 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric : u = m - (n - to(n, 0)) < 1272904977 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric : v = n - to(m, 0) < 1272904984 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :fax: Hey, mathematica worked out d for him. < 1272904986 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :So it's coo in my book. < 1272905004 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :to(m, 0) also in u. < 1272905028 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :# < 1272905029 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :u[x_] := d[x] - (x-f[d[x], 0]) < 1272905032 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :To I, beg differ. < 1272905038 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :d[x] is m, isn't it? < 1272905042 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :Oh, right. < 1272905042 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :Sorry. < 1272905088 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :will Double work better for the sqrts? < 1272905090 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :more predictable... < 1272905159 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :hello < 1272905161 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :what should I do < 1272905170 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :dance < 1272905177 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :\o\ \o/ /o/ < 1272905178 0 :myndzi!unknown@unknown.invalid PRIVMSG #esoteric :   |   |   | < 1272905178 0 :myndzi!unknown@unknown.invalid PRIVMSG #esoteric :  /`\ /<  /< < 1272905184 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :WOW!!!!!! < 1272905198 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric : \o/ \o/ \o/ \o/ \o/ \o/ \o/ \o/ \o/ < 1272905208 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :myndzi < 1272905210 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :do it < 1272905221 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :`fungot style < 1272905221 0 :fungot!unknown@unknown.invalid PRIVMSG #esoteric :fax: indeed. the ability to hack stuff like " fnord setup -l compiler" should work. < 1272905222 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :You're not a good enough dancer; it won't do it for you < 1272905223 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :fizzie: hey you broke ified it < 1272905228 0 :HackEgo!unknown@unknown.invalid PRIVMSG #esoteric :No output. < 1272905231 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :biFro :: Integer -> (Integer,Integer) < 1272905233 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :biFro n = (m - (n - biTo (m,0)), n - biTo (m,0)) < 1272905233 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric : where m = (floor (sqrt (8 * fromInteger n + 1) :: Double) - 1) `div` 2 < 1272905234 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :NO WORKY. < 1272905239 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :For one, < 1272905240 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :*Main> biFro 1 < 1272905241 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :(2,-1) < 1272905278 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :floor (sqrt (8*1+1)) = 3; < 1272905280 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :-1 = 2; < 1272905284 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :`div` 2 = 1; < 1272905286 0 :HackEgo!unknown@unknown.invalid PRIVMSG #esoteric :No output. < 1272905292 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :then we get ridiculous things involving 1 - < 1272905300 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :fizzie: I bet floor around the sqrt doesn't really work. < 1272905319 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :alise: It does work. I assume your biTo isn't exactly my f[u, v] there. < 1272905330 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :biTo :: (Integer, Integer) -> Integer < 1272905331 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :biTo (u,v) = triang (u+v) + u < 1272905331 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric : where triang n = n * (n+1) `div` 2 < 1272905337 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :Or is it. < 1272905342 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :You have +v < 1272905343 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :silly wabbit < 1272905349 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :make it +u and ask mathematica again? < 1272905363 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :When I am in charge spammers will be hunted and slowly tortured. < 1272905368 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Why don't you just make it +v there? I'm making food right now. :p < 1272905389 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :Alternatively, swap u/v; it shouldn't affect u+v, after all. < 1272905405 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :That is, ask for biTo(0, m) there. < 1272905408 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :(In biFro.) < 1272905419 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :Anyway, I *think* I've got a coding that doesn't increase exponentially. < 1272905439 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :fizzie: >_> < 1272905443 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :fizzie: Set up a mathematica bot, dammit. < 1272905451 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :WolframAlpha < 1272905469 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :hello < 1272905484 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :alise: I can type it into Mathematica if you tell me what to type :-P < 1272905499 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :Wolfram Alpha fails at life < 1272905503 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :Um I think we need to be solving like a function < 1272905521 0 :nooga!unknown@unknown.invalid QUIT :Ping timeout: 264 seconds < 1272905571 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :Yay, it works now. < 1272905621 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :$ echo ',[.,]' | ./bifroexp encode | ./bifroexp decode < 1272905621 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :[[][++]+-]< < 1272905628 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :Interesting! Interesting but incorrect! < 1272905644 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :what'sup < 1272905645 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :What encoding are you using? < 1272905645 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: Solve[f[((u+v) * (u+v+1))/2 + u] = u+v, f] or something, I guess. < 1272905647 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :er < 1272905650 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: Solve[f[((u+v) * (u+v+1))/2 + u] == u+v, f] or something, I guess. < 1272905653 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :hey alise you're doing it wrong < 1272905667 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :type Bijection a b = (a -> b, b -> a) < 1272905677 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :fax: yeah yeah shut up. < 1272905680 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric ::P < 1272905688 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :alise: There's an infinite number of solutions to that, you can't solve for a function :-P < 1272905689 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric ::/ < 1272905704 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: Solve[x == u+v, x] or something, I guess. < 1272905708 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :fax: that just makse the code more cluttered < 1272905708 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :*makes < 1272905710 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :in my case < 1272905715 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :alise: Solution: x = u+v < 1272905719 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :Er yes :P < 1272905721 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :alise: How are you encoding the program into tuples of naturals? < 1272905726 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: I am sure it can solve functions. < 1272905727 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :The old method? < 1272905731 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :alise you don'tknow anything about code clutter < 1272905732 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :Phantom_Hoover: yes < 1272905742 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :fax: see, this is why i don't like you ^ < 1272905753 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :alise: Fine, I humoured you: it gives "{{}}" i.e. there are infinite solutions. < 1272905756 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :alise - I was trying to thelp you and you just tell me shut up < 1272905758 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :alise: As expected. < 1272905763 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: MEH :P < 1272905768 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :I know there is some sort of function solver. < 1272905773 0 :augur!~augur@129-2-175-79.wireless.umd.edu JOIN :#esoteric < 1272905774 0 :augur!unknown@unknown.invalid QUIT :Remote host closed the connection < 1272905779 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :Well, http://reference.wolfram.com/mathematica/ref/RSolve.html... < 1272905792 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :f[((u+v) * (u+v+1))/2 + u] - (u+v) == 0 < 1272905793 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric ::-) < 1272905793 0 :augur!~augur@129-2-175-79.wireless.umd.edu JOIN :#esoteric < 1272905804 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :why is everyone such a dick < 1272905810 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :because < 1272905816 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :"" "that doesn't help in this case" < 1272905822 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :"you don't know anything about !" < 1272905833 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :that doesn't help in this case??? < 1272905855 0 :augur!unknown@unknown.invalid PRIVMSG #esoteric :hey fax < 1272905858 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :hi < 1272905881 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: Fine then, < 1272905887 0 :lereah_!unknown@unknown.invalid QUIT :Quit: Leaving < 1272905894 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :f[u_,v_] := ((u+v) * (u+v+1))/2 + u; < 1272905900 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :InverseFunction[f] < 1272905900 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :why do I even come here everyone hates me or ignores me < 1272905912 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :alise: f^(-1) < 1272905916 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :fax: God dammit shut the fuck up; you were a jerk to me. Simple as. < 1272905937 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :grr, inversefunction only works on 1-adic functions < 1272905947 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric : * InverseFunction is generated by Solve when the option InverseFunctions is set to Automatic or True. < 1272905950 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :you think you are so smart because you didn't grow up around people of the same age that were smarter than you < 1272906010 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :dear fax; you are batshit insane, insult people when they reject your useless advice, deny irc lines that clearly did happen, whine when people talk to you, ignore people then whine when people ignore you, and insult people's intelligence just because they did some random thing that annoys you. < 1272906015 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :just stop it. FFS. < 1272906072 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :sorry but I have written highly non-trivial haskell programs and I have been programing for years. I think if you took my advice you could learn something. Is that arrogant? To think I have actually learned something from years of experience? < 1272906105 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :So one day you claim "Haskell sucks it is too hard I don't know how to structure programs properly in it" < 1272906111 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :the next is "I AM EXPERT HASKELL PROGRAMMER". < 1272906117 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :Anyway, of course I have used that bijection structure before. < 1272906126 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :biTo :: (Integer, Integer) -> Integer < 1272906127 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :biTo (u,v) = triang (u+v) + u < 1272906127 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric : where triang n = n * (n+1) `div` 2 < 1272906127 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :biFro :: Integer -> (Integer,Integer) < 1272906127 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :biFro n = (m - (n - biTo (0, m)), n - biTo (0, m)) < 1272906128 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric : where m = floor (((sqrt (8 * fromInteger n + 1) - 1) / 2) :: Double) < 1272906129 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :How the ROYAL FUCK does it help here? < 1272906134 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :It would just be (to, fro) < 1272906137 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :because from references to, anyway < 1272906138 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :are you aware that it is an open research problem I was talking about when I said I didn't know how to structure that program? < 1272906139 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :so it needs to be bound < 1272906145 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :not that one < 1272906148 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :you said it about a general case < 1272906148 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :fax: We're working on the *algorithm*, not the code? < 1272906173 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :oh suddenly I exist, isn't that convenient < 1272906187 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :Oh, for heaven's sake. < 1272906190 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :lets just stop arguing about this < 1272906193 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :I think we're getting pretty solid evidence that fax is actually mentally ill here. < 1272906209 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :alise: Not really helping. < 1272906216 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :I never help :) < 1272906251 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :fax: Considering my program has only one bijection in it, and one half of the bijection references the other, it would have to look like < 1272906258 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :bij = (to, ...) < 1272906260 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric : where to = ... < 1272906272 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :Since in fact they both have extra bound definitions, the things they use would be tangled together < 1272906274 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :the whole thing would be uglier < 1272906275 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :harder to call < 1272906277 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :and for no reason whatsoever. < 1272906280 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :That is all. < 1272906295 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :alise: okay alise if you think you are doing the right thing by all means - don't let me get in the way. You don't have to be nasty about it thoug, I was trying to be constructive < 1272906305 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :I wasn't nasty! < 1272906311 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :alise is always nasty < 1272906315 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric : type Bijection a b = (a -> b, b -> a) fax: that just makse the code more cluttered < 1272906335 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :Yes, I said "yeah yeah shut up :P" before it, which was quite clearly in jest (I thought you were mentioning the fact that < 1272906340 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :I used that structure once before and you inquired as to its point.) < 1272906365 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: Not always. < 1272906378 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Close enough < 1272906389 0 :MizardX-!~MizardX@unaffiliated/mizardx JOIN :#esoteric < 1272906429 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :Well, fuck you too :) < 1272906438 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :come on < 1272906455 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Hey, you've admitted in the past :-P < 1272906459 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :+it < 1272906488 0 :MizardX!unknown@unknown.invalid QUIT :Ping timeout: 240 seconds < 1272906498 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :Oh, for heaven's sake! < 1272906507 0 :MizardX-!unknown@unknown.invalid NICK :MizardX < 1272906514 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: I'm an asshole, in general; but not nasty, in almost-all specific cases. < 1272906520 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :I'm just nasty often. < 1272906522 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Meh, semantics < 1272906534 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :I don't really care though, fax has done his fair share of nastiness to me yesterday and today, so < 1272906552 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :We still need a) a saner bijection and b) a coding that doesn't go mad on loops. < 1272906558 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :alise, in retaliation < 1272906562 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :We have that bijection, Phantom_Hoover. < 1272906564 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :fax: no. < 1272906570 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :alise: Oh/ < 1272906581 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :I must have missed it in between the flame war. < 1272906612 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :Yep, just implemented it now. < 1272906615 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :Just change +u to +v. < 1272906627 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :But they're equivalent! < 1272906627 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :I just want everyone to be nice to me < 1272906636 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :unconditionally < 1272906646 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :$ echo ',[.,]' | ./bifro encode | ./bifro decode < 1272906647 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :,[.,] < 1272906652 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :fax: See, that is the problem. < 1272906660 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :You cannot be nasty to someone else then expect them to be lovely to you. < 1272906664 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :People are not Jesus. < 1272906670 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :I wasn't being nasty to anyone < 1272906674 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :alise: How does it deal with, say, '[[[]]]'? < 1272906683 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :I beg to differ, so I'm not even going to bother responding any more. < 1272906687 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :Phantom_Hoover: 85492 < 1272906689 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :It gives 2^70 with the old bijection. < 1272906697 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :*Much* better. < 1272906704 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :I've got a better bijection than you guys < 1272906706 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :,[.[-],]? < 1272906717 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :$ echo ',[,[-[++]].]-[[[++]+]+]' | ./bifro encode < 1272906717 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :56046302675444742920145996600032729174513643271562716998685181 < 1272906729 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :it still croaks on hello world iirc < 1272906732 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :not sure < 1272906743 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :program n = (filter balanced . generate $ ",.+-<>[]") !! n < 1272906744 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :Can I have the bijection code? < 1272906748 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :the inverse is trivial < 1272906755 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :just a lookup table < 1272906757 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :fax: *VALID* < 1272906762 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :yeah hello world hangs it for no reason < 1272906762 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :durppp < 1272906769 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :learn to read code < 1272906777 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :fax: doesn't work < 1272906780 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :yes it does < 1272906784 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :my word against yours < 1272906787 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :no, because you might end up with < 1272906790 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :[-] < 1272906793 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :that's valid < 1272906795 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :[...every program...] < 1272906799 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :[[-]...] < 1272906802 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :[[...etc...]...] < 1272906802 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :and never get to < 1272906807 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :+[...]-[.[etc]] < 1272906810 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :wrong it generates every program in finite time < 1272906817 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :generate is just n-ary counting < 1272906820 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :fax is right, I think. < 1272906821 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :that's nice; anyway btw you're being a jerk now < 1272906826 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :16:13 < alise> that's nice; anyway btw you're being a jerk now < 1272906835 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :^ just admitted that he god pwnd < 1272906843 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :Count up in base 8, then discard the invalid ones. < 1272906845 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :no, I just don't think it is nearly a good a bijection < 1272906849 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :Yes. < 1272906851 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :I agree. < 1272906855 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :*as good < 1272906863 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :alise: YOU ARE THE ONE BEING A JERK < 1272906866 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :anyway, fax is talking right now solely for the purpose of trying to annoy me right now, so < 1272906868 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :It works, but it's as elegant as a pig with wheels. < 1272906872 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :time to figure out how you ignore in xchat. < 1272906880 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :there we go < 1272906890 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :Phantom_Hoover: hello world still hangs it < 1272906906 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :ACTION considers running dbfi through it! < 1272906911 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :You are the kind of low tier human that has to tell other people what they are so that you believe it yourself < 1272906914 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :BAD IDEA NO < 1272906923 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :Phantom_Hoover: So, what is your nested encoding? < 1272906924 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :you are calling me a jerk over and over because you don't want to admit that you are the one being horrible < 1272906937 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :alise: It doesn't work. < 1272906944 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :thought so :P < 1272906953 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :Some programs are representable by two sequences. < 1272906970 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :ACTION logreads to find out what fax's response to his ignoring her was; decides not to logread for such purposes any more < 1272906984 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :Now on to things that aren't about crazy people. < 1272906989 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :Phantom_Hoover: yeah < 1272906991 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :that's the basic issue < 1272906992 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :You guys are stupid, I can't beleive you've spent 2 days on this and I wrote it in one line of code < 1272907003 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :fax: Inelegantly. < 1272907020 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :and the only way you can justify your termoil and excessive fail is by pretending it's not elegant < 1272907020 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :ACTION shouldn't feed the troll... < 1272907023 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Your one line includes two undefined identifiers < 1272907032 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :Phantom_Hoover: Fuck you. You're a fucking wanke < 1272907038 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :Phantom_Hoover: what the fuck would you know < 1272907042 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :And presumably runs a fair bit slower than the one the others've got < 1272907060 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :Phantom_Hoover: I hope you have a heart attack, fuck you < 1272907102 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :fucking pathetic simple minded idiots < 1272907113 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :alise: So, better encoding now? < 1272907115 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :alise calls me a jerk and ignores me, therefore I must be a troll < 1272907123 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :Ahahaha. < 1272907137 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :seriously this is like reddit < 1272907141 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :this channel < 1272907230 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :ACTION pokes head above battlements < 1272907268 0 :Ilari!unknown@unknown.invalid PRIVMSG #esoteric :Hmm. LostKng has 20963 loops... < 1272907290 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :Forget it. < 1272907301 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :It's probably somewhere in the region of xkcd. < 1272907375 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Ilari: How far does it nest? < 1272907457 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: Too far < 1272907461 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :Especially considering it was compiled < 1272907503 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :From what? < 1272907519 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :Just some hacked-together decision tree compiler? < 1272907597 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :BFBASIC < 1272907639 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :Have you tried just leaving HW to encode for a few hours? < 1272907642 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :hmm... now /I/ feel an urge to write a BASIC->BF compiler < 1272907663 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :Phantom_Hoover: No; considering that the translation just ends up being simple recursion plus a lot of lot of arithmetic, it is almost certainly memory allocation it hangs on. < 1272907669 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :By which token, it's either very, VERY big, or too big. < 1272907689 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :It's loops that do it. < 1272907707 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :I don't know why everyone is so nasty < 1272907720 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :I wonder what the state-of-the-art is in constant string -> BF to generate it. < 1272907724 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :Did you post the triangular bijection functions? < 1272907735 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :Want the code? < 1272907740 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :Yes. < 1272907741 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :I know you are struggling alise but I know you are strong enough not to have to take it out on me < 1272907757 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :And I think HW could be optimised for this by eliminating loops. < 1272907805 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :Of course. < 1272907807 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :http://pastie.org/943767.txt?key=qjqgkkxho8wjgybmhdww < 1272907832 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :I like how we rely on real arithmetic being at least SLIGHTLY accurate. < 1272907839 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :It's such an... amusingly inaccurate assumption. < 1272907846 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Phantom_Hoover: A hacked-together decision tree compiler? Why, that's *my* effort at doing a text adventure game in Brainfuck! < 1272907872 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Oh, and I should note: Yes, I wrote it. No, I do not have a game for it. Just the engine. :P < 1272907884 0 :Ilari!unknown@unknown.invalid PRIVMSG #esoteric :I estimate that with the enumeration I'm trying to figure out, enumeration of LostKng would be around 2^153 000 000 (assuming enumeration of structure encoding is low)... < 1272907948 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :"I do know that the halting problem is unsolvable in general, but I was not sure whether there did not exist special case exceptions. Like, maybe Matlab might function as a Super Turing machine able to determine the halting of the bf program." < 1272907956 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :"SECOND EDIT: I have written what I purport to be infinite loop detector. It probably misses some edge cases (or less probably, somehow escapes Mr. Turing's clutches), but seems to work for me as of now. In pseudocode form, here it goes:" < 1272907971 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :From where? < 1272908007 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :http://stackoverflow.com/questions/367571/detecting-infinite-loop-in-brainfuck-program < 1272908017 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :"I have created a truly marvelous program to do this, which this textbox is too narrow to contain." --comment < 1272908046 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :LAME < 1272908055 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :that joke is so old it makes me physically sick hearing it < 1272908115 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :alise: But it's clearly possible sometimes. < 1272908129 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Hmmh, ++++++++++[>+++++++>++++] encodes to a 3.2 million digit number. < 1272908144 0 :Ilari!unknown@unknown.invalid PRIVMSG #esoteric :I estimate between 46 020 000 and 46 030 000 base-10 digits... < 1272908153 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :A word of advice: Avoid loops. < 1272908164 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :http://sprunge.us/SYFg < 1272908170 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :That was some fun code 3 years ago. < 1272908223 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Pity I never made it into an actual game. < 1272908235 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :I wonder what move is... < 1272908248 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :(oh, yes, if you want the source I can tarball it up) < 1272908283 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :>>[-]<<[->>+<<] > 4*10^1185 < 1272908307 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: hey, you could implement basic with pebble < 1272908313 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :write the basic primitives as pebble macros < 1272908320 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :use tcl to read code from stdin, translate to pebble primitives < 1272908320 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :alise: It would be quite feasible. < 1272908340 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :PEBBLE is sufficiently high-level to make targetting it not a pain. < 1272908354 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :Pebble? < 1272908370 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Practical Esoteric Brainfuck-Based Language, Eh? < 1272908386 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :It's a macro language for Brainfuck I wrote a few years back. < 1272908429 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :Hey, gosub/return is easy with computed gotos, which is easy with the standard method of BF labels. < 1272908460 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Yup. < 1272908470 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :GOSUB x := Put (CURRENT LINE), which we know at compile-time, somewhere global; GOTO x < 1272908476 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :RETURN := GOTO (GLOBAL PLACE) < 1272908566 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :("Line numbers" would just be labels, really, since you'd want to normalise them anyway.) < 1272908615 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Gah, I might run out of memory on ++++++++++[>+++++++>++++++++++>] < 1272908746 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :Can we generalise this? < 1272908759 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :Generalise what? < 1272908768 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :This bijection. < 1272908770 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :the bijection? < 1272908771 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :yes < 1272908776 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :consider that for any nested data type < 1272908787 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :we can assign a constant C_n to all n non-nesters < 1272908800 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :For all languages in which the syntax is equivalent to a nested list of nats? < 1272908800 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :then, say the thing has one nester < 1272908803 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :with only one argument, the nester < 1272908812 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :represent this as {nested} < 1272908821 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :this produces an arbitrarily nested list of nats < 1272908824 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :apply the bijection; Q.E.D. < 1272908839 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :more than one nester: set the constants such that they are all, say, even < 1272908845 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :then make one nester have all its subterms odd, and the other even < 1272908848 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :or something < 1272908864 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :Lazy K seems like it would lend itself to bijection. < 1272908875 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :gee, what about jot! wait. < 1272908914 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :09:38:03 >>[-]<<[->>+<<] > 4*10^1185 < 1272908915 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :wow :) < 1272908972 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :But you get something much smaller if you don't double the moves. < 1272908993 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :>10^71, admittedly, but still. < 1272909031 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :Are all strings of 0 and 1 valid in Jot? < 1272909051 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Yay, ++++++++++[>+++++++>++++++++++>] finished < 1272909059 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :A 733741052-digit number < 1272909070 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :Save it, quickly! < 1272909082 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Nah, I just piped it into wc :-P < 1272909134 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :Bifro should ideally have the capacity to write the number in base 256 with a string of bytes. < 1272909142 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :Much more compact. < 1272909156 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Your decoder is broken, btw; probably the double-cast < 1272909169 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :what's the point of putting brainfuck programs in bijection with natural numbers? < 1272909172 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Phantom_Hoover: Yes. < 1272909189 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :"What's the point" is rarely a sensible question on this channel < 1272909189 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Every string of 0 and 1 is valid, including the empty string. < 1272909201 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :fax: Putting Brainfuck programs in a bijection with natural numbers. < 1272909207 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: Then it's trivial. < 1272909215 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Phantom_Hoover: Yes. < 1272909236 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :Just stick a 1 on the start and make it binary. < 1272909237 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Jot is intended as a Goedel numbering. :) < 1272909252 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Uh, what? < 1272909259 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :Wait, forget that. < 1272909266 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :No 1 is needed. < 1272909278 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :*Just use the freaking number*. < 1272909291 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric : Your decoder is broken, btw; probably the double-cast < 1272909292 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :what double cast < 1272909306 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :alise: fromInteger < 1272909310 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: no < 1272909312 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :consider 0001 < 1272909319 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :Ooh, it is broken. < 1272909320 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: what would you propose then < 1272909330 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric ::/ < 1272909333 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :alise: A custom sqrt that works on Integer. < 1272909334 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :echo ">[-]<[->+<]" | ./bifro encode | ./bifro decode < 1272909341 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :[[[[[[[[[[[[[[[[[[[[ < 1272909342 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: Bah, okay. < 1272909348 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :http://www.haskell.org/haskellwiki/Generic_number_type#squareRoot < 1272909351 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :Just blasts you with [[[[ < 1272909353 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :ACTION writes it < 1272909385 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :(^!) :: Num a => a -> Int -> a < 1272909386 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :(^!) x n = x^n < 1272909388 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :ACTION wonders why < 1272909391 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :oh, for type specification < 1272909393 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :(why) < 1272909400 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Probably an optimization < 1272909403 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :right < 1272909447 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :Is biFro working? The function, not the program. < 1272909461 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :no < 1272909467 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: Can I use isqrt? There's a /2. < 1272909472 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :And I am not sure the result is always divisible by two. < 1272909481 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :++++++++++[>+++++++] at least comes out correctly now. < 1272909498 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :alise: Wasn't it being floored? `div` 2 < 1272909504 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :Ah, true. < 1272909505 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :alise: Mmm, yes. < 1272909505 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :alise: i can't beleive you are talking this long to solve a quadratic equation. lol < 1272909509 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: Now. < 1272909513 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: gimme a number that didn't work < 1272909529 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :alise: It works now, I already copied squareRoot into it myself. < 1272909531 0 :Ilari!unknown@unknown.invalid PRIVMSG #esoteric :Well, that was too optimistic estimate. But I estimate that Lost Kindom encodes to less than 10^(10^8)... < 1272909539 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :alise: But, e.g. '+++++++'. < 1272909550 0 :Ilari!unknown@unknown.invalid PRIVMSG #esoteric :*Kingdom < 1272909553 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :5695183504492614029263277. < 1272909568 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: Do you think that I should change how loops are encoded? < 1272909569 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :'K8'@*+'E28'@**+'%2'@f2+**+"I$@"*+"/KHQa"738*+345'@**+*****+**** < 1272909570 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :I'm just not sure how. < 1272909584 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :All other efforts have failed < 1272909585 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :Ilari: Reassuring to know < 1272909593 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :I think you should if you find a way to ;-) < 1272909594 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :It's less than a googolple, at least < 1272909615 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :This program has rekindled my love affair with Haskell. < 1272909621 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :(Is it a love affair if you don't have any other partners?) < 1272909636 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :((This applies in both the programming and otherwise meanings.)) < 1272909654 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :Bah, Lazy K is trivial. How about Unlambda? < 1272909654 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :Come back up, pastie! < 1272909656 0 :adam_d!~Adam@cpc2-acto6-0-0-cust48.brnt.cable.ntl.com JOIN :#esoteric < 1272909657 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :I need to deliver version 4! < 1272909657 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :yay < 1272909658 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :No 3. < 1272909664 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :Off by one there :D < 1272909676 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :Version three, guyz: http://pastie.org/943801.txt?key=uwdomh4k9krj16tc9ezw < 1272909679 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :Update your copies. < 1272909772 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :++[+[+[+[+[++++]+]+]+]+]++ generates a 6264 digit number < 1272909799 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :ACTION has an idea < 1272909801 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :How very short < 1272909805 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :Instead of < 1272909806 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :loop xs = crush xs + 6 < 1272909807 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :how about < 1272909812 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :loop xs = crush (map (+ 6) xs) < 1272909812 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :? < 1272909815 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :And it's 6263, not 6264 < 1272909817 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :would this work, I wonder? < 1272909818 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :The newline isn't part of it < 1272909823 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :eh, [] would = [[]] :/ < 1272909830 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: Oh, I forgot echo -n < 1272909831 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :alise: That's even worse! < 1272909840 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :Phantom_Hoover: is it? < 1272909845 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :wait [] would not = [[]] < 1272909854 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :crush [] = 0; [0] = 1+biTo(0,0) < 1272909858 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :alise: That won't help unless you meant echo 'brainfuck' | echo -n $(foo encode) | wc -c < 1272909862 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric := 1 < 1272909866 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :Surely increasing pre-crush means that the crushed list is much larger? < 1272909866 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :oh, darn < 1272909867 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :that doesn't work < 1272909871 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: that's what i meant < 1272909875 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :err... < 1272909876 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :what? < 1272909877 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :I did < 1272909882 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :$ echo butt | ./bifro encode < 1272909882 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Which actually doesn't work, that's interesting < 1272909886 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :(actually via terminal but) < 1272909887 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :copy it < 1272909893 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :echo, paste, | wc -c < 1272909906 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Oh, right, need to wrap the whole thing *duh* < 1272909914 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :Phantom_Hoover: Hmm... maybe, yeah. < 1272909936 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :alise: You know you can pipe the output of a program without having to copy-echo-paste :-P < 1272909947 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: I know, I just forgot the first time. < 1272909949 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :Wanted to see what it'd look like. < 1272909958 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :Huh, these numbers often repeat. < 1272909964 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :Lots and lots of 77s and 777s in that progam's number < 1272909967 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :Then again, lots of 88s too < 1272909968 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :And 444s < 1272909973 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :Maybe they just repeat naturally, or maybe it's just a coincidence. < 1272910171 0 :Phantom_Hoover!unknown@unknown.invalid PRIVMSG #esoteric :Is there any limit to the languages this can represent? < 1272910277 0 :Phantom_Hoover_!~Phantom_H@cpc3-sgyl21-0-0-cust116.sgyl.cable.virginmedia.com JOIN :#esoteric < 1272910280 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :It cannot represent the language of love. < 1272910293 0 :Phantom_Hoover_!unknown@unknown.invalid PRIVMSG #esoteric :Is the language of love well-defined? < 1272910297 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :Apart from that, uh, the reals? But we can't construct the reals so it'd be pointless to apply such an algorithm to them. < 1272910310 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :But anything countable, which is... all programming languages?, yes, has a bijection to the naturals. By definition. < 1272910323 0 :Phantom_Hoover_!unknown@unknown.invalid PRIVMSG #esoteric :Ah, yes. < 1272910332 0 :Phantom_Hoover_!unknown@unknown.invalid PRIVMSG #esoteric :But using this system? < 1272910351 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :Well... I don't know. It would have to be changed in all cases; sometimes minorly, sometimes it might be completely unrecognisable. < 1272910355 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :So it's hard to answer. < 1272910367 0 :Phantom_Hoover_!unknown@unknown.invalid PRIVMSG #esoteric :The syntax needs to be representable using nested lists, I think. < 1272910374 0 :Phantom_Hoover_!unknown@unknown.invalid PRIVMSG #esoteric :Of naturals < 1272910382 0 :Phantom_Hoover_!unknown@unknown.invalid PRIVMSG #esoteric :With an upper bound. < 1272910447 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :Yes, the only problem is the multiple nesting case. < 1272910452 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :But I am sure you can do that as something. < 1272910457 0 :Phantom_Hoover_!unknown@unknown.invalid PRIVMSG #esoteric :Multiple nesting? < 1272910459 0 :Phantom_Hoover!unknown@unknown.invalid QUIT :Ping timeout: 265 seconds < 1272910469 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :like instead of just [] {} too < 1272910469 0 :Phantom_Hoover_!unknown@unknown.invalid QUIT :Client Quit < 1272910482 0 :Phantom_Hoover_!~Phantom_H@cpc3-sgyl21-0-0-cust116.sgyl.cable.virginmedia.com JOIN :#esoteric < 1272910497 0 :Phantom_Hoover_!unknown@unknown.invalid PRIVMSG #esoteric :Ooh. < 1272910529 0 :Phantom_Hoover_!unknown@unknown.invalid PRIVMSG #esoteric :If they're properly nested, it shouldn't matter. < 1272910545 0 :Phantom_Hoover_!unknown@unknown.invalid PRIVMSG #esoteric :So long as {(}) isn't legal. < 1272910555 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :Yes, but it's just a question of "how do you represent it" because lists only have one type of nesting. < 1272910559 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :One way would be < 1272910563 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :say all instructions are even < 1272910569 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :then one type of loop would increase so that it's even < 1272910572 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :another would increase so it's odd < 1272910577 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :then you can identify which, I think < 1272910584 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :or something < 1272910590 0 :Phantom_Hoover_!unknown@unknown.invalid PRIVMSG #esoteric :Or you could just encode the information into the list. < 1272910593 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :i.e., < 1272910607 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :odd_naturals[crush(looptype1)] + N < 1272910611 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :even_naturals[crush(looptype2)] + N < 1272910618 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :(with some munging so that all naturals are covered by this) < 1272910637 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :repeat with similar spacings for all M types of loop < 1272910639 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :or, well, nesting in general < 1272910669 0 :Phantom_Hoover_!unknown@unknown.invalid PRIVMSG #esoteric :Incidentally, have we proven that, taking g(n) to be the triangular cdr, the recurrence relation u_n+1=g(u_n) ends up at 0 for all u_0? < 1272910727 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :ACTION 's brain flags up "LOOKS LIKE COLLATZ BE SCARED" < 1272910730 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :ACTION shuts up stupid heuristics < 1272910733 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :Triangular cdr? < 1272910742 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :As in "snd (biFro (n-1))"? < 1272910745 0 :Phantom_Hoover_!unknown@unknown.invalid PRIVMSG #esoteric :Yes. < 1272910747 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :Or "snd (biFro n)"? < 1272910762 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :Assuming the latter, < 1272910767 0 :Phantom_Hoover_!unknown@unknown.invalid PRIVMSG #esoteric :g(n) = snd(biFro n) < 1272910803 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :this simplifies to (n - biTo ((isqrt (8*n+1) - 1) `div` 2)) < 1272910804 0 :Phantom_Hoover_!unknown@unknown.invalid PRIVMSG #esoteric :Whatever, it just needs to be shown that we get a finite list from all n. < 1272910824 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :ehh, I'll just code it an test it empiraclly < 1272910826 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :*empirically < 1272910829 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :that's the best way to prove anything < 1272910837 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :is this to check that all numbers give a finite program? < 1272910839 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :yeah < 1272910865 0 :Phantom_Hoover_!unknown@unknown.invalid PRIVMSG #esoteric :alise: You can't test *all* nats! < 1272910880 0 :Phantom_Hoover_!unknown@unknown.invalid PRIVMSG #esoteric :I want your computer. < 1272910888 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :Of course, but I can be reasonably sure of something! < 1272910892 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :It's the lazy-fucktard's way of proving something. < 1272910922 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :Well, u_0 = 0 falsifies it. < 1272910934 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :But we special-case 0 in the recursion, so nyah. < 1272910935 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :But ignoring /that/, < 1272910942 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :-- uh, I really should make it stop on 0s < 1272910946 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :silly me < 1272910959 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :[1] < 1272910960 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :[2,1] < 1272910961 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :[3] < 1272910962 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :[4,1] < 1272910964 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :[5,2,1] < 1272910976 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :*Main> ulist 10000 < 1272910977 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :[10000,130,10] < 1272910977 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :*Main> ulist 100000 < 1272910977 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :[100000,319,19,4,1] < 1272910988 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :Ooh, I should use quickcheck! < 1272910999 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :And smallcheck! And lazy smallcheck! < 1272911013 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :Why! < 1272911016 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :Why instead of QuickCheck! < 1272911032 0 :Phantom_Hoover_!unknown@unknown.invalid PRIVMSG #esoteric :But it's not a *proof*! < 1272911035 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :I said "and" not "instead of"! < 1272911040 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :Yes but why! < 1272911044 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Because! < 1272911051 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :Phantom_Hoover_: YOU JUST CAN'T HANDLE EMPIRICAL MATHEMATICS < 1272911054 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :Deewiant: You do it! < 1272911057 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :No! < 1272911068 0 :Phantom_Hoover_!unknown@unknown.invalid PRIVMSG #esoteric :alise: THERE'S NO SUCH THING! < 1272911095 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :Phantom_Hoover_: Uh, there is actually. < 1272911099 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :Verifya:P < 1272911101 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :*:P < 1272911110 0 :Phantom_Hoover_!unknown@unknown.invalid PRIVMSG #esoteric :Really? < 1272911113 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :You can get more confidence in a proposition forall n, P(n) by testing P(n) for many n. < 1272911128 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :lol confidence < 1272911134 0 :Phantom_Hoover_!unknown@unknown.invalid PRIVMSG #esoteric :*More* confidence, not certainty. < 1272911134 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :You can't outright *prove* it, but this is why people have computers searching for counterexamples to the Collatz conjecture. < 1272911139 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :sure is engineering in here < 1272911144 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :Mathematics isn't /all/ about proofs. < 1272911182 0 :Phantom_Hoover_!unknown@unknown.invalid PRIVMSG #esoteric :oerjan's proof seemed to use the fact that 1+f(u, v) > u and v. < 1272911210 0 :Phantom_Hoover_!unknown@unknown.invalid PRIVMSG #esoteric :It's somewhere in today's logs, and it should be adjustable for the triangular function. < 1272911232 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :Well, this is almost true. < 1272911243 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :No, wait, it is true. < 1272911245 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :Q.E.D. < 1272911267 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :So since 1+f(u,v) > u and v, < 1272911281 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :f^-1(n-1) < u and v < 1272911291 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :So, the result always gets smaller. < 1272911302 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :Since this is the naturals, the only value it can approach if it always gets smaller is 0. < 1272911309 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :0 always terminates, for it results in []. < 1272911315 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :Therefore, the function always terminates. Q.E.D. < 1272911322 0 :Phantom_Hoover_!unknown@unknown.invalid PRIVMSG #esoteric :Good. < 1272911341 0 :Phantom_Hoover_!unknown@unknown.invalid PRIVMSG #esoteric :Now we just need to write the wiki page. < 1272911346 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :Er, rather, I mean: < 1272911358 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :If (u,v) = f^-1(n-1), u and v < n < 1272911363 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :I think. Anyway, it's true. < 1272911376 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :Phantom_Hoover_: I'd like to think about making loops better first. And there isn't much to write. < 1272911389 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :Silly language: BF, but in Bifro syntax. < 1272911405 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :You can't run non-trivial programs, because they don't fit into the universe. < 1272911418 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :So it's very theoretically Turing complete only. :P < 1272911429 0 :Phantom_Hoover_!unknown@unknown.invalid PRIVMSG #esoteric :That still confuses me, BtW. < 1272911429 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :Unless you produced an interpreter with no, or not many at all, nested brackets... < 1272911433 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :Why? < 1272911444 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :How something can be TC but not possible in the universe like that? < 1272911459 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :alise unignore me < 1272911466 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :Because mathematics is larger than the universe; that's why we can say "for all" and it means "every natural", not "everything up to 10^80 or so" < 1272911478 0 :Phantom_Hoover_!unknown@unknown.invalid PRIVMSG #esoteric :No, I get that. < 1272911481 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :alise < 1272911706 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :fizzie: ping < 1272911740 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :Ping pong < 1272911749 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :Let's play ... NETWORK TABLE TENNIS! < 1272911759 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :Ping. Pong. Ping. Pong. Pingpongpingpongpingpong connection dropped. < 1272912177 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: ping < 1272912216 0 :Phantom_Hoover_!unknown@unknown.invalid PRIVMSG #esoteric :Hmm... More random ideas for noop. < 1272912229 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :orly < 1272912240 0 :Phantom_Hoover_!unknown@unknown.invalid PRIVMSG #esoteric :I'm not sure if they'll work, though. < 1272912274 0 :Phantom_Hoover_!unknown@unknown.invalid PRIVMSG #esoteric :Incidentally, does hugeness come mainly from loops? < 1272912302 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :Yes. < 1272912334 0 :Phantom_Hoover_!unknown@unknown.invalid PRIVMSG #esoteric :It seems to have frozen on "+++++++++++++++++++++++++++++++" < 1272912370 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :alise: Pong < 1272912376 0 :Phantom_Hoover_!unknown@unknown.invalid PRIVMSG #esoteric :It *should* only be quadratic... < 1272912442 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: I realised that my typesetting system can easily be used for literate programming too. < 1272912449 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :Phantom_Hoover_: Why not evaluate it manually? < 1272912546 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: Some hypothetical usage: http://pastie.org/943852.txt?key=321l5gwchzzohrrzdehmzg < 1272912555 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :Using the evilly-named commands \, \\, and \\=. < 1272912963 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :http://www.literateprogramming.com/adventure.pdf ADVENTURE, the literate program. < 1272913020 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :Penned by Knuth himself. < 1272913030 0 :Phantom_Hoover_!unknown@unknown.invalid PRIVMSG #esoteric :Tried "++++++++++++++++++". It comes out as a 50085-digit number. < 1272913070 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Hmm. < 1272913077 0 :Phantom_Hoover_!unknown@unknown.invalid PRIVMSG #esoteric :My problem is that I can't see what's in the lower numbers. There must be some *enormous* trivial ones. < 1272913159 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :Phantom_Hoover_: well it's not quadratic because biTo is nested tons, right? < 1272913167 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :so there's a ton of /nested/ multiplications < 1272913180 0 :Phantom_Hoover_!unknown@unknown.invalid PRIVMSG #esoteric :Oh, yeah < 1272913269 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :I advise everyone to read http://www.literateprogramming.com/adventure.pdf, by the way. < 1272913309 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :"If I were writing this program, I would allow the word woods, but Don apparently didnt want to." < 1272913314 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :Damn INTERCALator. < 1272913323 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :INTERCALator, n. one who uses INTERCAL. < 1272913385 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :I dislike how it has visible spaces in strings, but eh < 1272913464 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :mess wd ("fuck"); < 1272913465 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :new mess ("Watch it!"); < 1272913557 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :27. The instructions here keep you in the forest with probability 50%, otherwise they take you to the < 1272913557 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :woods . This gives the illusion that we maintain more state information about you than we really do. < 1272913652 0 :Phantom_Hoover_!unknown@unknown.invalid PRIVMSG #esoteric :You know, fax's method may have been mathematically inelegant, but at least it would have given sane numbers. < 1272913705 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :Would it have? I beg to differ. < 1272913716 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :I think it would enumerate all programs with loops of length N before getting onto a single one with N+1. < 1272913726 0 :Phantom_Hoover_!unknown@unknown.invalid PRIVMSG #esoteric :No, that's the thing. < 1272913793 0 :Phantom_Hoover_!unknown@unknown.invalid PRIVMSG #esoteric :If you count up in base 8, using the instructions as the digits, until you reach the program, then discard the invalid programs, the length of what's left is a bijection < 1272913813 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :Phantom_Hoover_: fuck off troll < 1272913815 0 :Phantom_Hoover_!unknown@unknown.invalid PRIVMSG #esoteric :It would take ages to compute, though. < 1272913816 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :"The twisty little passages of this maze are said to be all alike," < 1272913820 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :Phantom_Hoover_: I know. < 1272913824 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :I think it would enumerate all programs with loops of length N before getting onto a single one with N+1. < 1272913830 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :Which would mean the numbers would not be reasonable. < 1272913841 0 :impomatic!~chatzilla@87.112.36.213.plusnet.ptn-ag1.dyn.plus.net JOIN :#esoteric < 1272913844 0 :impomatic!unknown@unknown.invalid PRIVMSG #esoteric :Hi :-) < 1272913845 0 :oerjan!~oerjan@129.241.210.68 JOIN :#esoteric < 1272913857 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :alise: yeah the numbers relating to the size of the program.. that must be unreasonable < 1272913861 0 :Phantom_Hoover_!unknown@unknown.invalid PRIVMSG #esoteric :alise: No, it wouldn't. < 1272913898 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :hi, have you rewritten bi{Fro,To} to use triangular numbers yet? < 1272913902 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: yes < 1272913903 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :and it works < 1272913908 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: but we need a better loop nester < 1272913922 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :btw i realized after i logged out that there is a way to do the floor exactly < 1272913926 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :http://pastie.org/943801.txt?key=uwdomh4k9krj16tc9ezw < 1272913930 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric : where m = (isqrt (8*n+1) - 1) `div` 2 < 1272913937 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: we did not use your algorithm < 1272913941 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :fizzie got a computer to invert it, hooray < 1272913943 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :biFro n = (m - (n - biTo (m,0)), n - biTo (m,0)) < 1272913944 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :ok you found that formula too < 1272913944 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric : where m = (isqrt (8*n+1) - 1) `div` 2 < 1272913948 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :this is for < 1272913948 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :biTo (u,v) = triang (u+v) + v < 1272913949 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric : where triang n = n * (n+1) `div` 2 < 1272913949 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :instead of +u < 1272913952 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: lol < 1272913968 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :you're sad now :)) < 1272913977 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :well u,v, is the same thing < 1272913983 0 :Phantom_Hoover_!unknown@unknown.invalid PRIVMSG #esoteric :I think that the number for a program of length n with fax's method must be less than 8^n, but there may be an off-by-one in that. < 1272914011 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :alise: why sad? just because you found what i would have suggested? < 1272914023 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :what algorithm didn't you use? < 1272914035 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :the one you suggested with the floor of sqrt 2n < 1272914039 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :right < 1272914049 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :I dunno, I get sad when my discoveries aren't a prodigal genius one :-) < 1272914051 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :*ones < 1272914078 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :yeah i realized that the (x+y)(x-y) rule could be used to make it exact instead, with that 8*n+1 etc. thing < 1272914080 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :who are you to judge what is mathematically elegant? < 1272914116 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :anyway i'm not sad. today i forgot a ballpoint pen in my laundry, first time for me afair < 1272914142 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :so i expected complete disaster, but both the sweater and the pen appear to have survived :) < 1272914163 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :(it even wrote when i tested) < 1272914206 0 :adam_d!unknown@unknown.invalid QUIT :Ping timeout: 245 seconds < 1272914374 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: this is the kind of thing all mathematicians get happy about, isn't it... < 1272914377 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :I can just tell from the way you say it :D < 1272914413 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :i don't know how much other mathematicians forget pens in their laundry, might be an occupational danger... < 1272914437 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :*hazard, is more idiomatic. < 1272914439 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :it's just i'm usually careful about it < 1272914441 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :ah. < 1272914467 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :what's wrong with the loop nesting? < 1272914485 0 :Phantom_Hoover_!unknown@unknown.invalid PRIVMSG #esoteric :Nothing, mathematically, < 1272914489 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :we do "crush xs" which makes a ruddy big number, then later on we crush that /again/ to flatten the whole program < 1272914491 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :I use pencils < 1272914493 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :now consider nested loops < 1272914495 0 :Phantom_Hoover_!unknown@unknown.invalid PRIVMSG #esoteric :It just generates bloody huge numbers. < 1272914497 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :feel the pain, FEEEEEL the pain < 1272914534 0 :Phantom_Hoover_!unknown@unknown.invalid PRIVMSG #esoteric :No-one's computed the number for a non-trivial program much longer than cat. < 1272914536 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :i _did_ think about it a bit when away, on long lists it would tend to blow the final parts up more than the beginning, wouldn't it? < 1272914566 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :but i didn't think the nesting of loops would be the problem... < 1272914571 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :also that, yes! < 1272914574 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :it blows up a lot more with that < 1272914576 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :maybe it IS that... < 1272914584 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :i thought of a way around it < 1272914588 0 :Phantom_Hoover_!unknown@unknown.invalid PRIVMSG #esoteric :Ooh, what? < 1272914597 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: do tell < 1272914610 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :basically store a list as a tree instead, so tuples spread out more balancedly < 1272914637 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :this requires some care to make sure we don't miss numbers, i think < 1272914638 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :*Main Data.List> elemIndex ",[.,]" . filter balanced . kleene . map (:[]) $ "-+<>,.[]" < 1272914639 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :Just 9316 < 1272914645 0 :Phantom_Hoover_!unknown@unknown.invalid PRIVMSG #esoteric :So... What would the structure for ",[.,]"? < 1272914649 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :I think my loop conjecture about fax's may be wrong :( < 1272914653 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: hey hey < 1272914656 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :that was Ilari's idea < 1272914668 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :alise: oh well i guess :D < 1272914676 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :STEALING FILTH :p < 1272914677 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :*:P < 1272914678 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :I also mentioned this alise did not understand it < 1272914687 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :except i thought that it is necessary to give each list a _unique_ tree < 1272914699 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :*Main Data.List> elemIndex ",[.[-],]" . filter balanced . kleene . map (:[]) $ "-+<>,.[]" < 1272914700 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :[nothing] < 1272914703 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :This thing is biased against EOF on 0 < 1272914714 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :Conclusion: Not a viable computational algorithm. < 1272914721 0 :Phantom_Hoover_!unknown@unknown.invalid PRIVMSG #esoteric :Yes. < 1272914733 0 :Phantom_Hoover_!unknown@unknown.invalid PRIVMSG #esoteric :It's even worse if you try to reverse it. < 1272914737 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :um what's kleene < 1272914742 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :v a 0 = [[]] < 1272914742 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :v a i = [s++t | s <- v a (i-1), t <- a] < 1272914742 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :kleene a = kleene' a 0 < 1272914742 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric : where kleene' a n = v a n ++ kleene' a (n+1) < 1272914744 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :kleene star < 1272914751 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :so kleene on that generates all valid and invalid bf progams < 1272914753 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :*programs < 1272914758 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :then we filter to get only balanced ones, and look up the prog < 1272914765 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :fax was yelling at us to use this instead because it's soooo trivial < 1272914772 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :but it seems it does not like being computed. maybe it'd be better with fusion < 1272914800 0 :Phantom_Hoover_!unknown@unknown.invalid PRIVMSG #esoteric :It's trivial in terms of the algorithm, but it's even worse than ours in terms of practicality. < 1272914820 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :that's because you don't know how to implement it efficently < 1272914843 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :look up stirling numbers if you are serious about this < 1272914898 0 :Phantom_Hoover_!unknown@unknown.invalid PRIVMSG #esoteric :fax: Your method requires that we enumerate *every* valid program up to x, a huge computation. < 1272915050 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :take a class on counting < 1272915061 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :you can do this efficently < 1272915079 0 :Phantom_Hoover_!unknown@unknown.invalid PRIVMSG #esoteric :OK, briefly describe the algorithm. < 1272915092 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :Phantom_Hoover_: take back what you said earlier < 1272915103 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric : hey oerjan log-reading <-- hello < 1272915103 0 :Phantom_Hoover_!unknown@unknown.invalid PRIVMSG #esoteric :What? That it's inelegant? < 1272915110 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :Phantom_Hoover_: you called me a troll < 1272915120 0 :Phantom_Hoover_!unknown@unknown.invalid PRIVMSG #esoteric :You *were* trolling. < 1272915129 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :k bye < 1272915146 0 :Phantom_Hoover_!unknown@unknown.invalid PRIVMSG #esoteric :Fine. < 1272915172 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: i said something to you :P < 1272915182 0 :Phantom_Hoover_!unknown@unknown.invalid PRIVMSG #esoteric :Anyone any idea what his magic algorithm is? < 1272915205 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric : "plus or minus any off-by-one errors"; says oerjan < 1272915206 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :I pity those who have too much pride to admit they are wrong < 1272915224 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :Phantom_Hoover_: i'd tell you, but you're NASTY < 1272915227 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :there weren't any in that formula, amazingly < 1272915234 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :sometimes you've had a reply-latency of a FEW MINUTES! < 1272915239 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :alise: i noticed. the logs are just huge today. < 1272915242 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: off-by-one errors are, like, the scourge of everything < 1272915246 0 :Gracenotes!~person@wikipedia/Gracenotes JOIN :#esoteric < 1272915253 0 :Phantom_Hoover_!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: Bank holiday in the UK. < 1272915260 0 :Phantom_Hoover_!unknown@unknown.invalid PRIVMSG #esoteric :I assume. < 1272915261 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :off by one errors are something you learn to avoid when you are beginner < 1272915275 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :if you are still stuggling with them it's time to go over he basics again < 1272915296 0 :Phantom_Hoover_!unknown@unknown.invalid PRIVMSG #esoteric :Now you're insulting the channel op? < 1272915298 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :statement to nothing? < 1272915304 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :oh fax < 1272915308 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :im not insulting anyone < 1272915335 0 :Phantom_Hoover_!unknown@unknown.invalid PRIVMSG #esoteric :Well, I suppose you'll just accuse us of fabricating what you said two minutes ago. < 1272915384 0 :Phantom_Hoover_!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: How do you encode the BF program into a tree? < 1272915399 0 :Phantom_Hoover_!unknown@unknown.invalid PRIVMSG #esoteric :And is it easily flattenable into a natural? < 1272915430 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric : ::= \epsilon | | '[ ']' < 1272915441 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric : ::= '+' | '-' | ... < 1272915456 0 :adam_d!~Adam@cpc2-acto6-0-0-cust48.brnt.cable.ntl.com JOIN :#esoteric < 1272915476 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :BNF is a pretty basic technique from computing, dates back to ALGOL < 1272915487 0 :Phantom_Hoover_!unknown@unknown.invalid PRIVMSG #esoteric :Oh yeah. < 1272915505 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :fax: i said it might contain off-by-one errors because i didn't bother to check before writing it, i knew that was the essence apart from it. although it was also accidentally completely correct. < 1272915541 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :fax: i've been mentioning algebraic data types before, for this problem that's about equivalent < 1272915559 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :afk < 1272915606 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :anyway i though that if the length of the list is 2^n+1 <= l < 2^n, we use a tree of depth n < 1272915633 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :with all empty nodes at either the left end or the right one < 1272915638 0 :Phantom_Hoover_!unknown@unknown.invalid PRIVMSG #esoteric :Basically, how would you treeify "+++"? < 1272915662 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :however _some_ of the nodes are just tuples, others are variants (haskell Either) < 1272915675 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :Either tuple variants! < 1272915680 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :Either tuple Either < 1272915697 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :as ((Empty,+),(+,+)) but with some care there < 1272915724 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :lessee... < 1272915747 0 :Phantom_Hoover_!unknown@unknown.invalid PRIVMSG #esoteric :OK, I must leave for now. I'll look at the logs later. < 1272915755 0 :Phantom_Hoover_!unknown@unknown.invalid QUIT :Quit: Phantom_Hoover_ < 1272915791 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :data Tree a = Leaf a | Branch (Tree a) (CompleteTree a) < 1272915803 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric : http://thedailywtf.com/Articles/A-Real-TriState.aspx <-- this is to tristate as filenotfound is to boolean < 1272915804 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :i'm not bothering to incorporate the depth < 1272915808 0 :AnMaster!unknown@unknown.invalid PRIVMSG #esoteric :very wtf < 1272915860 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :3, 5, ... < 1272915863 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :or wait, maybe i'll do that with a "dependent n", not legal haskell but more descriptive < 1272915870 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :clearly, size_of_presumably(n) = odds[n] < 1272915940 0 :adam_d!unknown@unknown.invalid QUIT :Ping timeout: 265 seconds < 1272915956 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :the thing about the CompleteTree part is that we know the depth from the left part of the branch, so we can just use tuples without variants down to the bottom < 1272915988 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :actually we need an Empty | in that i think < 1272916036 0 :adam_d!~Adam@cpc2-acto6-0-0-cust48.brnt.cable.ntl.com JOIN :#esoteric < 1272916061 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :it is possible that it needs another data type PossiblyEmptyTree a :D < 1272916116 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :oh wait of course we have the empty list too hm < 1272916126 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :EmptyTreeWithProbabilityOnePointSeventyFive < 1272916151 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :data EmptyTreeWithProbabilityOnePointSeventyFive = Empty1 | Empty2 | Empty3 | NotEmpty Tree < 1272916161 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :(the constructors are hidden and a function uses unsafePerformIO to return one of these randomly) < 1272916325 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :lessee to get this started < 1272916337 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :an empty list = 0 < 1272916355 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :*tree, surely. < 1272916355 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :a single element list [x] = 1+2*x < 1272916419 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :well tree or list, it's about the number of elements < 1272916462 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :a larger list/tree than that is 2+2*f(left part, right part) < 1272916484 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric : a single element list [x] = 1+2*x < 1272916490 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :what about [[x]]? < 1272916503 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :or do we not have that? < 1272916522 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :um the inner [x] is using the ordinary 6+crush [x] stuff < 1272916528 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :since it's a single element < 1272916543 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :right. < 1272916551 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :so this is to solve the problem that crush is horrible? < 1272916555 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :yeah < 1272916560 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :what is the algorithm for distributing the tree? < 1272916561 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :or try, at least < 1272916583 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :well i think the best is simply all elements as far to the left in the tree as possible < 1272916600 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :(since the opposite is harder to collect in haskell, i think) < 1272916643 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :isn't this actually bigger than the list encoding < 1272916647 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :... we timesify the f < 1272916652 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :and if we go the left part, then... < 1272916667 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :um no because we have less depth of nesting of f's < 1272916674 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :or so i think < 1272916710 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :really? why? < 1272916725 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :you said distribute everything to the left. < 1272916736 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :oh that's not what i meant < 1272916743 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :the tree is perfectly balanced < 1272916766 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :it's just that the left over empty parts from 2^n-x should be put at the right end < 1272916816 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :the thing about is: see the 2+2*f(left part, right part) thing? < 1272916840 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :if we distribute like this, we know that "left part" is a _complete_ tree with 2^(n-1) leafs < 1272916862 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :which means we need no variants when encoding it < 1272916874 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :sure < 1272916882 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :i vote you write the code and i relax < 1272916885 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :let me try to show what +++ is, if my brain grasps it < 1272917058 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :2+2*f(f(+,+),1+2*f(2*(+),0)) < 1272917064 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :no i'm _not_ sure of that :D < 1272917072 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :okayyy < 1272917073 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric ::Dd < 1272917075 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :*:D < 1272917105 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :the thing is to use variants (Either) splits only where we know there _can_ be a split < 1272917140 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :and this leads to a number of cases for how a subtree is encoded. < 1272917220 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :if it's a left branch of something with a nonempty right branch, then we know it is a full tree, like in that f(+,+) part, and we need not bother with possibility of leafs or empty nodes - we already know the depth from the right branch < 1272917251 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :oerjah, http://i.imgur.com/F0q6m.jpg < 1272917283 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :you don't say. < 1272917352 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :now for the right branch of the top, we know that it cannot be an empty tree (since then we'd just need one level less) and so it's 1+ rather than 2+ < 1272917377 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :it could still be a leaf though, thus the 1+2* to show it's not < 1272917410 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :(although that subtree contains just 1 leaf, we still make it depth 2 so all branches are the same depth) < 1272917428 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :now the right branch of the right branch is empty, thus 0 < 1272917482 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :the left branch of the right branch is a leaf, so 2*leaf value (there is no possibility of this being empty, for the same reason as before, so no 1+) < 1272917518 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :oerjan* < 1272917522 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :and having looked at the right branch of the whole tree like this, we now know that the tree depth is 2, and can use f(+,+) for the tree's left branch < 1272917566 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :(as already mentioned) < 1272917583 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :note that we look at the right branch to find the information about the depth of the left branch < 1272917657 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :now that /is/ overcomplicated :D < 1272917689 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :yeah all that complication is to ensure no numbers encode a tree that cannot be gotten from a list < 1272917755 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :sheesh, ADVENT has really simple code < 1272917764 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :it doesn't even have proper conditionals, or even code, in the adventure part < 1272917769 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :btw i also thought of another possible list encoding, but that might be harder to invert < 1272917773 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :just a huge table of boolean things, and rules for directions/commands at each place < 1272917775 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :without even code! < 1272917794 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :basically l -> (length l, encoding of tuple l using _multiple_ binomial coefficients) < 1272917851 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :iirc (x1,x2,...,xn) -> binom (x1+x2+...+xn, n) + binom(x1+x2+...+x(n-1), n-1) + ... + x1 < 1272917884 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :the generalization of the triangular method to N^n <-> N < 1272917904 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :oh so this is basically the bijection we have but to ^n? < 1272917909 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :yeah < 1272917915 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :I wonder if anyone else has written an N^n <-> N bijection < 1272917918 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :I didn't find one < 1272917922 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :sounds like something that could Come In Handy. < 1272917933 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :however it's going to be harder to invert, probably requires something with nth root < 1272917970 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :alise: i think we mentioned this one when fax discussed finite integrals at one time < 1272917982 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :so it's presumably well-known < 1272917986 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :yeah the C stuff < 1272917986 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :iirc < 1272917988 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :as in C() < 1272917989 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :and T() < 1272917991 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :there was a lot of that < 1272917994 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :binom aka C < 1272917998 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :yeah < 1272918001 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :of course, I know that :P < 1272918008 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :but i think the C involved had three arguments? < 1272918009 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :I guess not < 1272918031 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :i don't think so < 1272918121 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :"# (If you hit the bear after feeding it:) The bear is confused; he only wants to be your friend." < 1272918126 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :--[[Colossal Cave Adventure]] < 1272918202 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :oh and then there was the fibonacci idea i've mentioned before < 1272918219 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :for encoding a list < 1272918244 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :oh? < 1272918244 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :it requires converting to/from fibonacci base as well as binary though < 1272918275 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :basically in fibonacci base any number >= 1 starts with 1, then some series of 0,1 with _no_ instance of 11 < 1272918338 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :which means if you concatenate numbers in fibonacci base with 1 intercalated between, you get a bitstring and this process is reversible < 1272918361 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :ah that < 1272918374 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :but we need the reversibility to apply to all nats < 1272918420 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :yes, i'm a bit fishy on what is missed this way < 1272918454 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :or well, _any_ bitstring starting with 1 can clearly be split up at points where you have 11 < 1272918475 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :or wait < 1272918484 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :11 at beginning and end may be subtle < 1272918573 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :and several 11 in a row too < 1272918601 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :possibly 0 should be the empty string in fibonacci, or does that make things worse... < 1272918658 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :well, anywhere you get 110 you have a clear split, the first 1 must be the separator < 1272918707 0 :Gracenotes!unknown@unknown.invalid QUIT :Quit: Leaving < 1272918728 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :one nice thing about this is that loops would only blow up by about log_2 phi < 1272918736 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :(in bitsize) < 1272918758 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :well any list element, really < 1272918779 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :maybe a bit more for small elements < 1272918866 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :ok you cannot have 0 as empty string, 111 could mean either ,1, or ,0,0, in that case < 1272918887 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :dear oerjan, < 1272918888 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :you are crazy < 1272918889 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :-alise < 1272918892 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :thank you < 1272918933 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: now finish figuring out the encoding, i'll even implement it :P < 1272918936 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :now if you have 111110 say, we know that's 111++[10..,...] < 1272918970 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :a 11 at the end can only be ,1 i think < 1272918993 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :and so if we have several 11 in a row we can nest them up from the back < 1272919022 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :little-endian is probably good for this stuff < 1272919049 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :or wait, big-endian for encoding _into_ fibonacci < 1272919112 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :11 alone, what does that mean < 1272919131 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :you cannot get that from concatenating stuff :( < 1272919177 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :there are some loose ends there :D < 1272919217 0 :adam_d!unknown@unknown.invalid QUIT :Ping timeout: 265 seconds < 1272919234 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :you cannot get a bitstring starting with 110 in this way either < 1272919324 0 :Phantom_Hoover_!~Phantom_H@cpc3-sgyl21-0-0-cust116.sgyl.cable.virginmedia.com JOIN :#esoteric < 1272919338 0 :Phantom_Hoover_!unknown@unknown.invalid PRIVMSG #esoteric :OK, so what have you got now? < 1272919354 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :trying to something with fibonacci base < 1272919361 0 :Phantom_Hoover_!unknown@unknown.invalid PRIVMSG #esoteric :Fibonacci! < 1272919369 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :alas it seems to miss some bitstrings < 1272919379 0 :nooga!~nooga@maverick.aircity.pl JOIN :#esoteric < 1272919453 0 :nooga!unknown@unknown.invalid PRIVMSG #esoteric :i'm working on chaos based music < 1272919463 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :you cannot get bitstrings starting with an even number of 1's < 1272919475 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :nooga: ok merzbow < 1272919481 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: well fix that < 1272919554 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :well it seems that adding 1 toggles between legal and illegal, so we can encode a Bool in addition to the list ;) < 1272919572 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :*prepending < 1272919665 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :yes but stop cheating :D < 1272919764 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :well i can cheat _more_ by merging that Bool with the first list element (2*x-b) < 1272919784 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :but why < 1272919821 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :erm to get a bijection with non-empty lists of integers >= 1. at least that may be what we get < 1272919843 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :then set 0 = [] < 1272919845 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :easy < 1272919858 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :ok now i'd like an actual algorithm :D < 1272919880 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :hm < 1272919892 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :ok so given a non-empty list of integers >= 1 < 1272919911 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :divide the first one by 2 and take a bool for the remainder < 1272919945 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :hm lessee < 1272919954 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :oh integers >= 1 < 1272919959 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :crush [] = 0 < 1272919959 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :so basically < 1272919962 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :f [] = 0 < 1272919968 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :f xs = g (map (+1) xs) < 1272919986 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :divide? < 1272919988 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :as in floor-divide? < 1272920155 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :crush (x:xs) = fromBinary $ (if b==1 then "1" else "") ++ intercalate "1" [toFibonacci (x+1) | x <- y:xs] where (b,y) = divMod x 2 < 1272920167 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :_maybe_. < 1272920219 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :maybe using x for two things is a bit bad. < 1272920270 0 :Phantom_Hoover_!unknown@unknown.invalid PRIVMSG #esoteric :What about the old idea of alternating the bits? < 1272920277 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :er *(y, b) = divMod x 2 < 1272920292 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :Phantom_Hoover_: what? < 1272920315 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: decode numbers as bits < 1272920320 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :then ababababab < 1272920321 0 :Phantom_Hoover_!unknown@unknown.invalid PRIVMSG #esoteric :Then alternate. < 1272920329 0 :Phantom_Hoover_!unknown@unknown.invalid PRIVMSG #esoteric :Rinse, repeat. < 1272920351 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :there is no guarantee of numbers being the same length < 1272920358 0 :Phantom_Hoover_!unknown@unknown.invalid PRIVMSG #esoteric :Pad with 0. < 1272920380 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :yeah, pad with 0 would work fine < 1272920381 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :Note that quotRem is faster than divMod < 1272920382 0 :Phantom_Hoover_!unknown@unknown.invalid PRIVMSG #esoteric :It's just another NxN->N bijection, though. < 1272920383 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :since it'd turn into 0000x < 1272920388 0 :Deewiant!unknown@unknown.invalid PRIVMSG #esoteric :If that's at all relevant < 1272920396 0 :nooga!unknown@unknown.invalid PRIVMSG #esoteric :alise: merzbow's creations aren't in my style < 1272920401 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :hm... maybe that works < 1272920406 0 :impomatic!unknown@unknown.invalid PRIVMSG #esoteric :Does anyone remember the name of the language similar to Brainfuck from the 1960s? < 1272920412 0 :Phantom_Hoover_!unknown@unknown.invalid PRIVMSG #esoteric :p''? < 1272920415 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :P'' < 1272920422 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :nooga: they're not in /any/ style < 1272920426 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: but it grows a lot, doesn't it < 1272920452 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :if log_2(x) = a and log_2(y) = b, then log_2(f(x,y)) = a+b < 1272920456 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :roughly, at least < 1272920459 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :hmm < 1272920467 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :so two 500 binary digit numbers -> 1000 < 1272920467 0 :nooga!unknown@unknown.invalid PRIVMSG #esoteric :alise: merzbow is distinguishable < 1272920468 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :digit < 1272920470 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :that's not bad actually < 1272920483 0 :Phantom_Hoover_!unknown@unknown.invalid PRIVMSG #esoteric :As fast as the triangular or factorising ones? < 1272920484 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :alise: um that's the minimum information theory allows, or so :D < 1272920506 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :yeah < 1272920511 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: so it's actually very good, isn't it < 1272920527 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :what about combining this with my idea of (length l, tuple encoding) < 1272920537 0 :Phantom_Hoover_!unknown@unknown.invalid PRIVMSG #esoteric :Can it be done efficiently with bignums? < 1272920548 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :Phantom_Hoover_: It's just divmod < 1272920551 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :to extract bits < 1272920557 0 :Oranjer!~HP_Admini@adsl-34-17-217.cae.bellsouth.net JOIN :#esoteric < 1272920560 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :then you can alternate the bits of _all_ the numbers < 1272920562 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: Sure, although I've no idea what that encoding is < 1272920565 0 :Phantom_Hoover_!unknown@unknown.invalid PRIVMSG #esoteric :Is that efficient? < 1272920575 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :yes. < 1272920586 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :alise: um i meant to use this alternating for that tuple encoding < 1272920595 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :yes, what tuple encoding :D < 1272920604 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :ACTION swats alise -----### < 1272920610 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :_as_ that tuple encoding < 1272920610 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :oh the fib thing? < 1272920613 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :oh < 1272920618 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :why encode it with length < 1272920619 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :I don't ge it < 1272920620 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :*get < 1272920627 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :anyway so let's see < 1272920631 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :biTo will be recursive, eek < 1272920633 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :that's not good is it < 1272920636 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :oh well < 1272920639 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :so you know how many numbers you've mingled < 1272920653 0 :Phantom_Hoover_!unknown@unknown.invalid PRIVMSG #esoteric :Interleaving the bits two by two is just as space-efficient as interleaving them all at once. < 1272920665 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :oh, hm, maybe < 1272920675 0 :Phantom_Hoover_!unknown@unknown.invalid PRIVMSG #esoteric :It's just another NxN->N bijection, so we can use our old encoding. < 1272920702 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :yeah but our problem was to avoid blowing up some parts < 1272920705 0 :nooga!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: what does theese mean: "man pleier å få som fortjent!" and "Disse statusoppdateringene som inneholder varmegrader kan du godt spare deg for." < 1272920708 0 :nooga!unknown@unknown.invalid PRIVMSG #esoteric :? < 1272920727 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :biTo :: (Integer, Integer) -> Integer < 1272920728 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :biTo (0,0) = 0 < 1272920728 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :biTo (u,v) = < 1272920728 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric : let < 1272920728 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric : (u',a) = if u == 0 then (0,0) else u `divMod` 2 < 1272920728 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric : (v',b) = if u == 0 then (0,0) else v `divMod` 2 < 1272920729 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :Phantom_Hoover_: using this for NxN-> N will be _bad_ for long lists with the old method < 1272920729 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric : in < 1272920731 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric : (((u' * 2) + v') * 2) + biTo (u',v') < 1272920734 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :right? < 1272920748 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :because alternating is only efficient when the numbers are approx. same size < 1272920751 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :no, then (0,1) = 0 < 1272920752 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :ugh, why < 1272920765 0 :Phantom_Hoover_!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: Hmm. < 1272920772 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :oh < 1272920774 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :wrong way around < 1272920775 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :lulz < 1272920778 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :should be a,u' < 1272920779 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :right? < 1272920784 0 :nooga!unknown@unknown.invalid PRIVMSG #esoteric :;\ < 1272920784 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :no wait < 1272920787 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :2 = 10 < 1272920790 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :so 0,1 it should be read < 1272920794 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :er wait < 1272920795 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :1 = 1 < 1272920797 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :so yeah, wrong way around < 1272920797 0 :Phantom_Hoover_!unknown@unknown.invalid PRIVMSG #esoteric :Yeah, we'll need to use a more balanced method for this. < 1272920807 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :oh no wait < 1272920808 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :lol < 1272920811 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :I'm thick < 1272920823 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :which is why i suggested alternating all the bits simultaneously < 1272920830 0 :Phantom_Hoover_!unknown@unknown.invalid PRIVMSG #esoteric :And lists? < 1272920833 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: ah < 1272920833 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :so < 1272920839 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :[1,1,1] = 111 < 1272920842 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :yeah < 1272920843 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :yeah? < 1272920847 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :so it's stored as (3,111) < 1272920849 0 :nooga!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: please ;3 < 1272920854 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: then we crush recursively? < 1272920864 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :[1,[1,1,1],1] = (3,1(3,111)1) < 1272920866 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :how do we do that < 1272920880 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :or does 3 go into the number somehow? < 1272920881 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :we might < 1272920883 0 :Phantom_Hoover_!unknown@unknown.invalid PRIVMSG #esoteric :Wait, interleaving at once is no better. < 1272920894 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :Phantom_Hoover_: it's information-theoretically optimal... < 1272920902 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :alise: crushing (3,111) gives something (2, x) and the 2 is redundant < 1272920930 0 :Phantom_Hoover_!unknown@unknown.invalid PRIVMSG #esoteric :Ooh, wait, you're right. < 1272920930 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :although that's not very efficient since 3 might be much smaller than the snd < 1272920938 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: eh? < 1272920959 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :alise: if we crush (3,x) where x is large we get a _lot_ of zero padding on the 3 < 1272920973 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :oh wait, < 1272920974 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric : (((a * 2) + b) * 2) + biTo (u',v') < 1272920976 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :is totally broken < 1272920977 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :grr < 1272920983 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :this recursion is hairy i think it is iterative :( < 1272920994 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: so, question < 1272921001 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :is the interleaving good < 1272921005 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :or is your fib thing good < 1272921031 0 :nooga!unknown@unknown.invalid PRIVMSG #esoteric :oerjan < 1272921090 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :nooga: "one usually gets as one deserves!" "these status updates containing above zero (celsius) degrees you can just stop doing." < 1272921109 0 :nooga!unknown@unknown.invalid PRIVMSG #esoteric :oh right, thank you < 1272921135 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :what < 1272921153 0 :Phantom_Hoover_!unknown@unknown.invalid PRIVMSG #esoteric :nooga had some Foreign to be translated. < 1272921154 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric ::P < 1272921171 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :alise: the interleaving is much simpler but has that problem with size differences giving much padding < 1272921229 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: what is wrong with cons-cell interleaving? < 1272921250 0 :Phantom_Hoover_!unknown@unknown.invalid PRIVMSG #esoteric :It exacerbates the padding problem hugely. < 1272921277 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :ah right < 1272921280 0 :Phantom_Hoover_!unknown@unknown.invalid PRIVMSG #esoteric :The accumulator gets much larger than the car, so it's padded. < 1272921282 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :no, does it? < 1272921288 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :alise: well if you do (a,(b,(c,(d,(e,0))))) then the bits of e will end up 32 bits apart, while the bits of a just end up 2 apart < 1272921289 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :Phantom_Hoover_: so do it the other way around! < 1272921291 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :oh wait < 1272921295 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :doesn't work like that lol < 1272921303 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :or thereabouts < 1272921307 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: then we need some kind of synchronization < 1272921308 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :hmm < 1272921312 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: does your fibonacci thing suffer this problem? < 1272921331 0 :Phantom_Hoover_!unknown@unknown.invalid PRIVMSG #esoteric :We could always re-use the unary one, too. < 1272921343 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :alise: and actually if you only do pairs then the triangle method is perfectly adequate, i should think < 1272921350 0 :Phantom_Hoover_!unknown@unknown.invalid PRIVMSG #esoteric :So that the sequence {1, 2, 3} would be 1010010001? < 1272921373 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :Phantom_Hoover_: eh < 1272921377 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :what about 00110 < 1272921388 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :oh, i see < 1272921389 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :0 = 1 < 1272921390 0 :Phantom_Hoover_!unknown@unknown.invalid PRIVMSG #esoteric :Ooh, fair point. < 1272921395 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :like < 1272921396 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :sa in < 1272921397 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :as in < 1272921403 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :..00110.. < 1272921403 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric := < 1272921412 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :[...,3,0,2,...] < 1272921414 0 :Phantom_Hoover_!unknown@unknown.invalid PRIVMSG #esoteric :No, wait, code {1, 2, 3} as 101001000 < 1272921415 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :erm < 1272921417 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :[...,2,0,1,...] < 1272921426 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :so 11 = 0 element < 1272921428 0 :Phantom_Hoover_!unknown@unknown.invalid PRIVMSG #esoteric :Then if it ends with one the final thing is 0. < 1272921433 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :i think the fibonacci method is quite lean, it only uses about log_2 phi * bitsize bits + 1 for each element regardless of size differences < 1272921434 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :11 at the start would be 0, too, because 1 is the starter < 1272921443 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: no bitsize < 1272921468 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :alise: bits are intrinsic to the fibonacci method < 1272921485 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :and is a perfectly valid measure of number size < 1272921493 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :ah well true < 1272921496 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :a stream of bits controls a machine < 1272921498 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :is it actually log_2(n) < 1272921503 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :the machine is a type writer < 1272921512 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :no, log_2(phi) * element size < 1272921519 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :o_O < 1272921521 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :ok, i'm confused now < 1272921544 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :phi is the golden ratio, the limit of ratios of consecutive fibonacci numbers < 1272921547 0 :Phantom_Hoover_!unknown@unknown.invalid PRIVMSG #esoteric :That makes sense. < 1272921553 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :if | is the cursor: | +| +>| +>[|] +>[+|] this is the sort of typing you can do < 1272921560 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :so converting binary -> fibonacci base expands by about that much < 1272921563 0 :Phantom_Hoover_!unknown@unknown.invalid PRIVMSG #esoteric :log_2() gives the no. of bytes. < 1272921583 0 :Phantom_Hoover_!unknown@unknown.invalid PRIVMSG #esoteric :Of phi^n. < 1272921587 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :when you are inside a bracket, there is an extra key allowed which steps out - but this has some redundancy < 1272921587 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :Phantom_Hoover_: bits < 1272921599 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :log_256 otoh :D < 1272921614 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :because there is a difference between +>[+|] and +>[+]| for example.. but they are equal programs < 1272921620 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :how to reconsile this? < 1272921654 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :alise: oh i mean element size in bits, of course < 1272921663 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :maybe you always have to put down a symbol when you step out a bracket -- but that interferes with stepping out of multiple nested brackets < 1272921664 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :not the bitsize of machine words :D < 1272921673 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :yeah < 1272921678 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :i know what phi is < 1272921679 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :thx :P < 1272921705 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :log_2 is no. of bits, yeah < 1272921730 0 :Phantom_Hoover_!unknown@unknown.invalid PRIVMSG #esoteric :fax: An interesting idea, but it would seem that it would be difficult to get uniqueness. < 1272921757 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :is it possible to fix this idea? < 1272921803 0 :Phantom_Hoover_!unknown@unknown.invalid PRIVMSG #esoteric :I don't really know. Also, would it be easy to compute both ways? < 1272921828 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :sheesh i still haven't gotten to the logs... < 1272921838 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :i think i'm just going to search for my name < 1272922036 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :alise: i conclude that although you mentioned my nick several times, all the problems were solved before i arrived < 1272922061 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: wut :P < 1272922068 0 :Phantom_Hoover_!unknown@unknown.invalid PRIVMSG #esoteric :So exactly how does the base-phi encoding work? Write the no.s in base phi, then use 11 to separate < 1272922072 0 :Phantom_Hoover_!unknown@unknown.invalid PRIVMSG #esoteric :? < 1272922091 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :alise: well the parts of the problems you were mentioning my nick about, anyway < 1272922102 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :use 1 to separate < 1272922112 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :the second 1 is just the beginning of the next number < 1272922129 0 :Phantom_Hoover_!unknown@unknown.invalid PRIVMSG #esoteric :So how would {1, 2, 3} work? < 1272922139 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :also, there is some trickiness at the beginning, see my haskell code far above ;) < 1272922167 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :first to fix the trickiness, divide 1 by 2 giving 0, remainder 1 < 1272922169 0 :alise!unknown@unknown.invalid PRIVMSG #esoteric :how is the 1 the beginning of the next? < 1272922185 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :alise: all numbers >= 1 begin with 1 in fibonacci base < 1272922187 0 :Phantom_Hoover_!unknown@unknown.invalid PRIVMSG #esoteric :Oh, god. Please tell me it's an easy-to-find URL. < 1272922222 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :alise: boundaries are marked with 11, where the first 1 is inserted and the second is just the begining of the next number < 1272922227 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :Phantom_Hoover_: nope < 1272922243 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :21:55 oerjan> crush (x:xs) = fromBinary $ (if b==1 then "1" else "") ++ intercalate "1" [toFibonacci (x+1) | x <- y:xs] where (b,y) = divMod x 2 < 1272922259 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :also crush [] = 0 < 1272922274 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :there may be off-by-one errors as usual ;) < 1272922284 0 :Phantom_Hoover_!unknown@unknown.invalid PRIVMSG #esoteric :What does intercalate do? < 1272922288 0 :alise_!~alise@212.183.140.4 JOIN :#esoteric < 1272922302 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :concatenates all the strings with "1" between < 1272922303 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :iirc < 1272922372 0 :alise_!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: so does that cover every string? < 1272922374 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :the divMod stuff is necessary because the intercalation always gives a string beginning with an _odd_ number of 1's < 1272922375 0 :alise_!unknown@unknown.invalid PRIVMSG #esoteric :& does it compact well? < 1272922400 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :as i repeatedly said, it should expand by about log_2(phi) < 1272922436 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :!haskell logBase 2 ((sqrt 5 + 1)/2) < 1272922448 0 :alise!unknown@unknown.invalid QUIT :Ping timeout: 252 seconds < 1272922449 0 :EgoBot!unknown@unknown.invalid PRIVMSG #esoteric :0.6942419136306174 < 1272922452 0 :Phantom_Hoover_!unknown@unknown.invalid PRIVMSG #esoteric :Do all base phi nats end with 1? < 1272922460 0 :impomatic!unknown@unknown.invalid QUIT :Quit: ChatZilla 0.9.86 [Firefox 3.5.9/20100315083431] < 1272922465 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :no < 1272922471 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :e.g. 10 is 2 < 1272922484 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :100 is 3, 1000 is 5 < 1272922493 0 :alise_!unknown@unknown.invalid PRIVMSG #esoteric :what, expand by the concatenation of all the bitstrings with no separator? < 1272922496 0 :alise_!unknown@unknown.invalid PRIVMSG #esoteric :it'll only be log_2(phi) bigger? < 1272922508 0 :Phantom_Hoover_!unknown@unknown.invalid PRIVMSG #esoteric :Wait, is base fib base phi? < 1272922509 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :in _bitsize_ < 1272922516 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :Phantom_Hoover_: approximately < 1272922536 0 :Phantom_Hoover_!unknown@unknown.invalid PRIVMSG #esoteric :So 111 is 3+2+1? < 1272922540 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :you write your number as a sum of fibonacci numbers, never using consecutive ones < 1272922549 0 :Phantom_Hoover_!unknown@unknown.invalid PRIVMSG #esoteric :Oh. < 1272922554 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :nopt, 11 is illegal in a fibonacci representation < 1272922557 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :*nope < 1272922566 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :but 101 is 3+1 < 1272922577 0 :Phantom_Hoover_!unknown@unknown.invalid PRIVMSG #esoteric :1001 is 5+1=6? < 1272922606 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :alise_: oh hm if phi is < 1 then it should be 1/phi, naturally < 1272922615 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :Phantom_Hoover_: yeah < 1272922623 0 :alise_!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: so < 1272922643 0 :Phantom_Hoover_!unknown@unknown.invalid PRIVMSG #esoteric :So to extract we: < 1272922651 0 :alise_!unknown@unknown.invalid PRIVMSG #esoteric :bigness (yourEncoding [a,b,c]) ~= bigness (concatMap bitStrings [a,b,c]) + 1/phi < 1272922652 0 :alise_!unknown@unknown.invalid PRIVMSG #esoteric :?? < 1272922654 0 :alise_!unknown@unknown.invalid PRIVMSG #esoteric :are you serious?! < 1272922670 0 :alise_!unknown@unknown.invalid PRIVMSG #esoteric :~+ 0.618 < 1272922672 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :um no < 1272922672 0 :alise_!unknown@unknown.invalid PRIVMSG #esoteric :surely not < 1272922724 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :if x has n bits, then fibonacci x is approximately n/log_2(phi) long < 1272922739 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :i just realized it needs division, not multiplication < 1272922748 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :because log_2(phi) < 1 < 1272922821 0 :alise_!unknown@unknown.invalid PRIVMSG #esoteric :ah < 1272922822 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :fib(n) ~= phi^n, so log_2(fib(n)) ~= n*logBase 2 phi < 1272922832 0 :alise_!unknown@unknown.invalid PRIVMSG #esoteric :logBase 2? < 1272922836 0 :alise_!unknown@unknown.invalid PRIVMSG #esoteric :you changed mid-thing :P < 1272922843 0 :alise_!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: what about the list encoding < 1272922844 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :i just changed to haskell < 1272922846 0 :alise_!unknown@unknown.invalid PRIVMSG #esoteric :how much overhead? < 1272922857 0 :alise_!unknown@unknown.invalid PRIVMSG #esoteric :but you changed language across the sing! < 1272922858 0 :alise_!unknown@unknown.invalid PRIVMSG #esoteric :*sign! < 1272922897 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :the fibonacci representation, plus the 1 bit in between... < 1272922900 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :*1 bits < 1272922902 0 :alise_!unknown@unknown.invalid PRIVMSG #esoteric :ah < 1272922909 0 :alise_!unknown@unknown.invalid PRIVMSG #esoteric :does it cover every nat then?? < 1272922916 0 :Phantom_Hoover_!unknown@unknown.invalid PRIVMSG #esoteric :Yes, I think. < 1272922917 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :i think so < 1272922922 0 :Phantom_Hoover_!unknown@unknown.invalid PRIVMSG #esoteric :Wait, what's 111? < 1272922927 0 :Phantom_Hoover_!unknown@unknown.invalid PRIVMSG #esoteric :(in binary)? < 1272922928 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :with the divMod fix < 1272922935 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :Phantom_Hoover_: 7 :D < 1272922947 0 :alise_!unknown@unknown.invalid PRIVMSG #esoteric :hey oerjan < 1272922949 0 :alise_!unknown@unknown.invalid PRIVMSG #esoteric :"Everyone who applies for Norwegian citizenship after 1 September 2008 must be able to document that they have completed 300 hours of Norwegian language tuition or be able to document adequate knowledge of Norwegian or Sami. < 1272922951 0 :Phantom_Hoover_!unknown@unknown.invalid PRIVMSG #esoteric :How does it decode? < 1272922955 0 :alise_!unknown@unknown.invalid PRIVMSG #esoteric :if this didn't apply to in-EU migration too, < 1272922957 0 :alise_!unknown@unknown.invalid PRIVMSG #esoteric :I'd say fuck you < 1272922960 0 :alise_!unknown@unknown.invalid PRIVMSG #esoteric :er < 1272922961 0 :alise_!unknown@unknown.invalid PRIVMSG #esoteric :if this did < 1272922968 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :heh < 1272922980 0 :alise_!unknown@unknown.invalid PRIVMSG #esoteric :i hope it doesn't < 1272922980 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :alise_: citizenship is not the same as moving < 1272922983 0 :alise_!unknown@unknown.invalid PRIVMSG #esoteric :ah < 1272922988 0 :alise_!unknown@unknown.invalid PRIVMSG #esoteric :cool < 1272922989 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :citizenship takes years of residence to get < 1272922999 0 :alise_!unknown@unknown.invalid PRIVMSG #esoteric :what if you try and move in from outside the EU? < 1272923009 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :then you may have a hard time < 1272923010 0 :alise_!unknown@unknown.invalid PRIVMSG #esoteric :is that just the regular visa thing? < 1272923011 0 :alise_!unknown@unknown.invalid PRIVMSG #esoteric :just curious < 1272923015 0 :alise_!unknown@unknown.invalid PRIVMSG #esoteric :i mean < 1272923017 0 :alise_!unknown@unknown.invalid PRIVMSG #esoteric :move in as residence < 1272923044 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :you need to be an especially needed person to get a working permit if you're not from the EU/EEA < 1272923046 0 :alise_!unknown@unknown.invalid PRIVMSG #esoteric :speaking of which, pikhq: ping < 1272923051 0 :alise_!unknown@unknown.invalid PRIVMSG #esoteric :(he's my personal immigration law expert) < 1272923068 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Pong! < 1272923070 0 :Phantom_Hoover_!unknown@unknown.invalid PRIVMSG #esoteric :Oerjan: what tuple does 111 decode to in your system? < 1272923073 0 :alise_!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: I only ask because I've been discussing, with a friend, utterly crazy ways to move < 1272923091 0 :Phantom_Hoover_!unknown@unknown.invalid PRIVMSG #esoteric :alise_: Positive-imaginary? < 1272923096 0 :alise_!unknown@unknown.invalid PRIVMSG #esoteric :First one was "him and me should get married so that I can move to the US"; issues: I'm 14; his state is heavily Republican so no gay marriage < 1272923102 0 :alise_!unknown@unknown.invalid PRIVMSG #esoteric :Phantom_Hoover_: wut < 1272923103 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :Phantom_Hoover_: [1,0] i think < 1272923110 0 :Phantom_Hoover_!unknown@unknown.invalid PART #esoteric :? < 1272923123 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: Alise is an EU citizen, and as such, is entitled to reside in Norway permanently. < 1272923134 0 :alise_!unknown@unknown.invalid PRIVMSG #esoteric :I was talking about said friend < 1272923140 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: she was specifically asking about non-EU < 1272923143 0 :alise_!unknown@unknown.invalid PRIVMSG #esoteric :who, of course, is entirely joking < 1272923145 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Mmm. < 1272923155 0 :alise_!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: I'm surprised you're actually keeping up the pronoun thing < 1272923168 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :alise_: when i remember < 1272923171 0 :alise_!unknown@unknown.invalid PRIVMSG #esoteric :anyway pikhq < 1272923177 0 :alise_!unknown@unknown.invalid PRIVMSG #esoteric :see /msg in a sec < 1272923205 0 :Sgeo_!unknown@unknown.invalid QUIT :Ping timeout: 245 seconds < 1272923288 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :whee, i'm forgetting to eat < 1272923296 0 :alise_!unknown@unknown.invalid PRIVMSG #esoteric :I do that too < 1272923299 0 :alise_!unknown@unknown.invalid PRIVMSG #esoteric :other things are just so much more interesting < 1272923982 0 :hiato!~fdulu@41-132-16-47.dsl.mweb.co.za JOIN :#esoteric < 1272924122 0 :Mathnerd314!~mathnerd3@dsl.6.28.53.206.cos.dyn.pcisys.net JOIN :#esoteric < 1272925576 0 :tombom!unknown@unknown.invalid QUIT :Quit: Leaving < 1272925922 0 :alise_!unknown@unknown.invalid PRIVMSG #esoteric :i have an idea < 1272925930 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :yay < 1272925933 0 :alise_!unknown@unknown.invalid PRIVMSG #esoteric :let's create [[Remarkable language list]] < 1272925942 0 :alise_!unknown@unknown.invalid PRIVMSG #esoteric :which lists all the actually good languages on the wiki < 1272925943 0 :alise_!unknown@unknown.invalid PRIVMSG #esoteric :but < 1272925945 0 :alise_!unknown@unknown.invalid PRIVMSG #esoteric :we'll put at the start < 1272925950 0 :alise_!unknown@unknown.invalid PRIVMSG #esoteric :languages known in the community for a while < 1272925956 0 :alise_!unknown@unknown.invalid PRIVMSG #esoteric :that have shown good esoteric theoretical/practical qualities < 1272925957 0 :alise_!unknown@unknown.invalid PRIVMSG #esoteric :etc < 1272925964 0 :alise_!unknown@unknown.invalid PRIVMSG #esoteric :and telling people not to put new languages on the list < 1272925968 0 :alise_!unknown@unknown.invalid PRIVMSG #esoteric :tada, a language list that is actually usable! < 1272925973 0 :alise_!unknown@unknown.invalid PRIVMSG #esoteric :and nobody is offended < 1272925976 0 :alise_!unknown@unknown.invalid PRIVMSG #esoteric :perhaps [[Languages of note]] < 1272926013 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :!haskell data Remarkable = Remarkable String String deriving Show; language = "Haskell"; list = "compendium"; main = print [[Remarkable language list]] < 1272926016 0 :EgoBot!unknown@unknown.invalid PRIVMSG #esoteric :[[Remarkable "Haskell" "compendium"]] < 1272926084 0 :alise_!unknown@unknown.invalid PRIVMSG #esoteric :lol < 1272926539 0 :gm|lap!~gm@unaffiliated/greasemonkey JOIN :#esoteric < 1272926727 0 :nooga!unknown@unknown.invalid PRIVMSG #esoteric :alise_: what are your esolangs? < 1272926736 0 :alise_!unknown@unknown.invalid PRIVMSG #esoteric :hmm < 1272926740 0 :alise_!unknown@unknown.invalid PRIVMSG #esoteric :let's see < 1272926795 0 :alise_!unknown@unknown.invalid PRIVMSG #esoteric :nooga: just finding them :P < 1272926878 0 :alise_!unknown@unknown.invalid PRIVMSG #esoteric :nooga: here are all the ones I can find right now, mostly old: < 1272926880 0 :alise_!unknown@unknown.invalid PRIVMSG #esoteric :http://esolangs.org/wiki/Qq < 1272926881 0 :alise_!unknown@unknown.invalid PRIVMSG #esoteric :http://esolangs.org/wiki/Jumping_to_-1_is_exciting < 1272926883 0 :alise_!unknown@unknown.invalid PRIVMSG #esoteric :http://esolangs.org/wiki/Yael < 1272926890 0 :alise_!unknown@unknown.invalid PRIVMSG #esoteric :http://esolangs.org/wiki/UniCode (never specified) < 1272926892 0 :alise_!unknown@unknown.invalid PRIVMSG #esoteric :http://esolangs.org/wiki/JumpFuck < 1272926899 0 :alise_!unknown@unknown.invalid PRIVMSG #esoteric :http://esolangs.org/wiki/BF_machine (not really a language; part of a project) < 1272926951 0 :alise_!unknown@unknown.invalid PRIVMSG #esoteric :JumpFuck was a project too, for a something->BF compiler iirc < 1272926959 0 :alise_!unknown@unknown.invalid PRIVMSG #esoteric :a rather ugly extension too < 1272926967 0 :BeholdMyGlory!unknown@unknown.invalid QUIT :Remote host closed the connection < 1272927033 0 :alise_!unknown@unknown.invalid PRIVMSG #esoteric :Qq was quite nice, took a while to be disproved TC < 1272927045 0 :alise_!unknown@unknown.invalid PRIVMSG #esoteric :Jumping to -1 is exciting is confusing. < 1272927048 0 :nooga!unknown@unknown.invalid PRIVMSG #esoteric :hm < 1272927087 0 :alise_!unknown@unknown.invalid PRIVMSG #esoteric :the things after the instructions are the tape/stack/whatever < 1272927097 0 :alise_!unknown@unknown.invalid PRIVMSG #esoteric :and # is incompletely specified < 1272927098 0 :alise_!unknown@unknown.invalid PRIVMSG #esoteric :just examples < 1272927113 0 :alise_!unknown@unknown.invalid PRIVMSG #esoteric :it's "cherry-pick from the stack" basically, iirc < 1272927117 0 :nooga!unknown@unknown.invalid PRIVMSG #esoteric :;] < 1272927121 0 :alise_!unknown@unknown.invalid PRIVMSG #esoteric :and move it elsewhere < 1272927125 0 :nooga!unknown@unknown.invalid PRIVMSG #esoteric :Qq looks nice < 1272927151 0 :alise_!unknown@unknown.invalid PRIVMSG #esoteric :yeah; it's sub-TC due to the instructions not allowing arbitrary function calls or something < 1272927156 0 :alise_!unknown@unknown.invalid PRIVMSG #esoteric :I forget < 1272927167 0 :alise_!unknown@unknown.invalid PRIVMSG #esoteric :Yael is a nice little computotron, with very limited memory. < 1272927226 0 :nooga!unknown@unknown.invalid PRIVMSG #esoteric :i could even implement yael in FPGA < 1272927288 0 :alise_!unknown@unknown.invalid PRIVMSG #esoteric : 0001 AAA BBB < 1272927289 0 :alise_!unknown@unknown.invalid PRIVMSG #esoteric : Moves the data in register B to register A. < 1272927289 0 :alise_!unknown@unknown.invalid PRIVMSG #esoteric : 1000 AAA BBB < 1272927289 0 :alise_!unknown@unknown.invalid PRIVMSG #esoteric : Store - in the memory whose address is in register B - the data in register A. < 1272927291 0 :alise_!unknown@unknown.invalid PRIVMSG #esoteric :How inconsistent! Oh well. < 1272927320 0 :alise_!unknown@unknown.invalid PRIVMSG #esoteric :nooga: You can implement it in practically anything. It only has 264 bytes of memory. < 1272927362 0 :nooga!unknown@unknown.invalid PRIVMSG #esoteric :relays! < 1272927374 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :That actually wouldn't be too hard. < 1272927384 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :You could even do the memory in relays. < 1272927387 0 :nooga!unknown@unknown.invalid PRIVMSG #esoteric :that's why i am saying that < 1272927408 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :It would also make some absolutely *wonderful* noises. < 1272927422 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Relay computers are awesome. < 1272927435 0 :nooga!unknown@unknown.invalid PRIVMSG #esoteric :http://www.youtube.com/watch?v=MM4IUxXiArY < 1272927440 0 :nooga!unknown@unknown.invalid PRIVMSG #esoteric :this is awesome < 1272927504 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Yeah. < 1272927519 0 :alise_!unknown@unknown.invalid PRIVMSG #esoteric :Dammit, I loaded /prog/ again. Now I won't be able to stop myself calling Python FIOC. < 1272927571 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :YEAH BUT WHO DOESNT INDENT THER CODE? < 1272927703 0 :FireFly!unknown@unknown.invalid QUIT :Quit: null < 1272928012 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :I want to tell alise something < 1272928154 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :!haskell alise unignore me I have news to tell you < 1272928166 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :!haskell "alise unignore me I have news to tell you" < 1272928168 0 :EgoBot!unknown@unknown.invalid PRIVMSG #esoteric :"alise unignore me I have news to tell you" < 1272928288 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :ACTION chuckles < 1272928429 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :ACTION wishes for a way to request someone's ignore list < 1272928455 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :pikhq only assholes and stalkers do this but you can /ping people to see if they have you on /ignore < 1272928457 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :ACTION cannot hear you LALALALA < 1272928479 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :why the hell would you ping me < 1272928493 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :I clearly don't have you on ignore < 1272928496 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Lawlz < 1272928513 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :... < 1272928755 0 :alise_!unknown@unknown.invalid PRIVMSG #esoteric :fax: I don't know how to unignore you o_O < 1272928764 0 :alise_!unknown@unknown.invalid PRIVMSG #esoteric :fax: done; what is it? < 1272928773 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :alise you are listening now? < 1272928786 0 :coppro!~coppro@unaffiliated/coppro JOIN :#esoteric < 1272928792 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :.. < 1272928798 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :you are pretending to have unignored me < 1272928809 0 :alise_!unknown@unknown.invalid PRIVMSG #esoteric :no < 1272928811 0 :alise_!unknown@unknown.invalid PRIVMSG #esoteric :I'm not :P < 1272928815 0 :gm|lap!unknown@unknown.invalid QUIT :Quit: ilua < 1272928819 0 :alise_!unknown@unknown.invalid PRIVMSG #esoteric :i'm not /that/ stupid < 1272928838 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :/unignore < 1272928867 0 :alise_!unknown@unknown.invalid PRIVMSG #esoteric :yeah but you need the full mask < 1272928887 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :does [] ever come up in real brainfuck programs? < 1272928905 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :I mean it always finite loops.. or it's a noop - so we can ignore it yes? < 1272928913 0 :alise_!unknown@unknown.invalid PRIVMSG #esoteric :well no. < 1272928917 0 :coppro!unknown@unknown.invalid PRIVMSG #esoteric :you mean infinite loops? < 1272928918 0 :alise_!unknown@unknown.invalid PRIVMSG #esoteric :because we're trying to translate every bf program :) < 1272928921 0 :alise_!unknown@unknown.invalid PRIVMSG #esoteric :trivial to translate some subset < 1272928930 0 :alise_!unknown@unknown.invalid PRIVMSG #esoteric :the edge-cases are what makes it hard -- but go on anyway < 1272928954 0 :alise_!unknown@unknown.invalid PRIVMSG #esoteric :the hard part isn't "a bijection from BF prog <-> nat", anyway, it's "a feasibly computable bijection from BF prog <-> nat" :-P < 1272928978 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :if you need []'s in the programs then my idea is worth nothing < 1272929053 0 :alise_!unknown@unknown.invalid PRIVMSG #esoteric :I am interested anyway < 1272929057 0 :alise_!unknown@unknown.invalid PRIVMSG #esoteric :ideas are always worth something... sometimes it's negative though < 1272929069 0 :alise_!unknown@unknown.invalid PRIVMSG #esoteric :but that's okay because you can find out some positive-worth idea to balance it out < 1272929078 0 :alise_!unknown@unknown.invalid PRIVMSG #esoteric :so somehow -a + a > 0??? < 1272929080 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :lets say that +- -+ <> >< [] never occur in any program < 1272929087 0 :alise_!unknown@unknown.invalid PRIVMSG #esoteric :fax: what about <<>> < 1272929102 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :that contains <> < 1272929107 0 :alise_!unknown@unknown.invalid PRIVMSG #esoteric :ah true < 1272929114 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :I just realized this idea doesn't work anyway < 1272929155 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :it will only work for programs of even length < 1272929200 0 :alise_!unknown@unknown.invalid PRIVMSG #esoteric :lol < 1272929202 0 :alise_!unknown@unknown.invalid PRIVMSG #esoteric :go ahead anyway < 1272929204 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :what I noticed was that there's 6*6 two-symbol codes, 5 of them aren't used, 6*6-5 is 31 < 1272929205 0 :alise_!unknown@unknown.invalid PRIVMSG #esoteric :it sounds so bad it's interesting < 1272929208 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :then you add loops 32 < 1272929252 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :the condition is a bit harsher than just even length programs actually, anyway this idea is broken so never mind < 1272929274 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :I thought I had solved it < 1272929403 0 :alise_!unknown@unknown.invalid PRIVMSG #esoteric :Argh, I am sick of hot chocolate. I cannot be arsed to deal with the stupid skin that forms. < 1272929410 0 :alise_!unknown@unknown.invalid PRIVMSG #esoteric :I should just drink tea or something. < 1272929427 0 :fax!unknown@unknown.invalid PRIVMSG #esoteric :the key thing is that 32 is a power of two < 1272929475 0 :alise_!unknown@unknown.invalid PRIVMSG #esoteric :you don't say :P < 1272929588 0 :hiato!unknown@unknown.invalid QUIT :Quit: underflow < 1272929655 0 :MizardX!unknown@unknown.invalid PRIVMSG #esoteric :][ too, since when exiting a loop, the current memory cell will be zero, and the next loop won't start. < 1272929667 0 :alise_!unknown@unknown.invalid PRIVMSG #esoteric :but it still must be encoded. < 1272929697 0 :alise_!unknown@unknown.invalid PRIVMSG #esoteric :filtercomments | bf encode | bf decode = filtercomments < 1272929709 0 :alise_!unknown@unknown.invalid PRIVMSG #esoteric :er < 1272929711 0 :alise_!unknown@unknown.invalid PRIVMSG #esoteric :bf encode | bf decode = filtercomments < 1272929717 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :If you don't encode it, then you are encoding a subset of the valid Brainfuck programs. < 1272929762 0 :MizardX!unknown@unknown.invalid PRIVMSG #esoteric :a-z + 0-9 = 36 symbols < 1272929922 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :a loop after ] is a comment :) < 1272929930 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :walk -> < 1272929993 0 :alise_!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: at this time? < 1272929999 0 :alise_!unknown@unknown.invalid PRIVMSG #esoteric :in NORWAY? < 1272930003 0 :alise_!unknown@unknown.invalid PRIVMSG #esoteric :you're hard as fuck. < 1272930187 0 :coppro!unknown@unknown.invalid PRIVMSG #esoteric :... < 1272930195 0 :alise_!unknown@unknown.invalid PRIVMSG #esoteric :what < 1272930228 0 :alise_!unknown@unknown.invalid PRIVMSG #esoteric :it's past midnight in norway. in trondheim, it is 0 degrees right now < 1272930233 0 :alise_!unknown@unknown.invalid PRIVMSG #esoteric :and oerjan is going for a walk. < 1272930251 0 :alise_!unknown@unknown.invalid PRIVMSG #esoteric ::P < 1272930273 0 :coppro!unknown@unknown.invalid PRIVMSG #esoteric :oerjan's in trondheim? < 1272930380 0 :alise_!unknown@unknown.invalid PRIVMSG #esoteric :he lives in trondheim. < 1272930387 0 :alise_!unknown@unknown.invalid PRIVMSG #esoteric :bit more than "in" :P < 1272930417 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :heh < 1272930439 0 :alise_!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: why heh? :P < 1272930457 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :i actually turned around when i discovered the stairs were so slippery with sleet it was dangerous to walk on them :/ < 1272930463 0 :alise_!unknown@unknown.invalid PRIVMSG #esoteric ::D < 1272930471 0 :alise_!unknown@unknown.invalid PRIVMSG #esoteric :hardcore motherfucker < 1272930479 0 :alise_!unknown@unknown.invalid PRIVMSG #esoteric :NOTHING CAN STOP ME -- EXCEPT SLEET, AND GUNS < 1272930482 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :I think I love Norway's weather now. :P < 1272930484 0 :alise_!unknown@unknown.invalid PRIVMSG #esoteric :*NOTHING CAN STOP ME -- EXCEPT SLEET, AND WEAPONRY < 1272930491 0 :alise_!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: it's fucking amazing! < 1272930498 0 :alise_!unknown@unknown.invalid PRIVMSG #esoteric :it isn't even freezing ALL the time < 1272930509 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :alise_: Also, 0 is not *that* cold. < 1272930511 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :i figured if i took a walk, came back and forgot about the sleet i'd probably fall and break my neck < 1272930514 0 :alise_!unknown@unknown.invalid PRIVMSG #esoteric :Yes, but still. < 1272930525 0 :alise_!unknown@unknown.invalid PRIVMSG #esoteric :0 degrees, can't see very well, ... < 1272930528 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :or something < 1272930531 0 :alise_!unknown@unknown.invalid PRIVMSG #esoteric :now of course oerjan you realise that you are going to have to lodge me. < 1272930541 0 :alise_!unknown@unknown.invalid PRIVMSG #esoteric : eek! < 1272930557 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :eek. < 1272930590 0 :alise_!unknown@unknown.invalid PRIVMSG #esoteric :also, how come half of Trondheim's streets are water, I'm going to ignore the real explanation and substitute "you are all Jesus", or "you all have high-tech ice-making shoes" < 1272930610 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :wait since when < 1272930627 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :we _do_ have a river through the city center, but... < 1272930639 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :alise_: You... Might be confusing Trondheim with Venice. < 1272930643 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric ::P < 1272930647 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :that could be. < 1272930656 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Quite some confusion. < 1272930669 0 :alise_!unknown@unknown.invalid PRIVMSG #esoteric :I was actually going to link to one of these pictures saying "the Venice of Norway": < 1272930673 0 :alise_!unknown@unknown.invalid PRIVMSG #esoteric :http://www.trondheim.com/multimedia.ap?id=1114985653&width=138 < 1272930674 0 :alise_!unknown@unknown.invalid PRIVMSG #esoteric :http://www.trondheim.com/multimedia.ap?id=9652293 < 1272930677 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :also it _shouldn't_ be this cold in the beginning of may. < 1272930682 0 :alise_!unknown@unknown.invalid PRIVMSG #esoteric :and < 1272930696 0 :alise_!unknown@unknown.invalid PRIVMSG #esoteric :http://upload.wikimedia.org/wikipedia/commons/d/d3/TrondheimNidelva-improved.jpg < 1272930698 0 :alise_!unknown@unknown.invalid PRIVMSG #esoteric :and < 1272930699 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: I have seen snowstorms in June. < 1272930702 0 :alise_!unknown@unknown.invalid PRIVMSG #esoteric :http://upload.wikimedia.org/wikipedia/commons/1/13/Nidelva-Trondheim-foliage.JPG < 1272930708 0 :alise_!unknown@unknown.invalid PRIVMSG #esoteric :I REST MY CASE < 1272930758 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Colorado has fucking schizophrenic weather. < 1272930777 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :how sad that you don't have rivers in england. < 1272930784 0 :alise_!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: i know right :P < 1272930797 0 :alise_!unknown@unknown.invalid PRIVMSG #esoteric :There was just a disproportionately large portion of pictures of buildings with water right behind them, so... < 1272930807 0 :alise_!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: Here. You. Let's move to Norway on the basis that broke+broke = not broke. < 1272930822 0 :alise_!unknown@unknown.invalid PRIVMSG #esoteric :(It doesn't matter whether you're broke beforehand; move to Norway, become enbroken.) < 1272930833 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :alise_: Hahahah. < 1272930843 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :i have taken walks at -5 as well, this winter. -10 starts to get a bit grating. < 1272930845 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :Do they speak... Japanese there? < 1272930847 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric ::P < 1272930854 0 :alise_!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: They don't speak Japanese in Colorado. < 1272930864 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: I've walked to school in that. < 1272930867 0 :alise_!unknown@unknown.invalid PRIVMSG #esoteric :...and Japan itself has quite a few issues. Namely, being fucked up. < 1272930870 0 :alise_!unknown@unknown.invalid PRIVMSG #esoteric :Thus, Norway. < 1272930879 0 :alise_!unknown@unknown.invalid PRIVMSG #esoteric :I'd say Finland, but military at 18 makes alise sad. < 1272930892 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: i mean taking walks just to stretch my legs. < 1272930902 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :でも日本語を話せるぜ〜 < 1272930911 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :i've certainly walked to school in -15..-20 when i was younger < 1272930931 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :alise_: How's about we just move to the moon? < 1272930938 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :it's not _that_ common here though. temperature has a tendency to cling around 0. < 1272930961 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: we did have the japanese emperor visiting a few years ago. < 1272930976 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :apparently he wrote a poem about us afterwards. < 1272930980 0 :alise_!unknown@unknown.invalid PRIVMSG #esoteric :pikhq: it has huge ping to earth iirc < 1272930983 0 :alise_!unknown@unknown.invalid PRIVMSG #esoteric :or was that mars < 1272930988 0 :alise_!unknown@unknown.invalid PRIVMSG #esoteric :that was a really depressing conversation < 1272931001 0 :alise_!unknown@unknown.invalid PRIVMSG #esoteric :when i found out that colonising even near planets in the solar system meant really slow internet, only e-mail and the like < 1272931018 0 :alise_!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: < 1272931022 0 :alise_!unknown@unknown.invalid PRIVMSG #esoteric :cold cold cold cold, < 1272931024 0 :alise_!unknown@unknown.invalid PRIVMSG #esoteric :cold cold fucking cold ow, < 1272931026 0 :alise_!unknown@unknown.invalid PRIVMSG #esoteric :why did i visit < 1272931032 0 :alise_!unknown@unknown.invalid PRIVMSG #esoteric :He does not like you. < 1272931039 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :nah :D < 1272931045 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :alise_: Mars has absurd ping to Earth. < 1272931059 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :alise_: The Moon is not much worse than my current link. < 1272931063 0 :alise_!unknown@unknown.invalid PRIVMSG #esoteric :lol < 1272931071 0 :alise_!unknown@unknown.invalid PRIVMSG #esoteric :mars is more likely to sustain life though :P < 1272931080 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :oerjan: Well, he's got to do something with his time. < 1272931092 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :It's not like he has *any power or responsibility*. < 1272931116 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :He's not even a nominal head of state. < 1272931156 0 :pikhq!unknown@unknown.invalid PRIVMSG #esoteric :He's only got his position because the Diet wouldn't think to remove it. < 1272931175 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :http://www.kunaicho.go.jp/e-culture/utakai-h18.html < 1272931188 0 :oerjan!unknown@unknown.invalid PRIVMSG #esoteric :ACTION didn't expect to actually find it :)